Freigeben über


Filtern von Ereignissen in COM+

COM+-Ereignisse bietet zwei Möglichkeiten, zu steuern, welche Ereignisse welche Abonnenten erreichen: Herausgeberfilterung und Parameterfilterung.

Verlegerfilterung

Die Verlegerfilterung steuert die Reihenfolge und das Auslösen einer Ereignismethode durch ein Ereignisklassenobjekt . Mit der Verlegerfilterung kann der Herausgeber ermitteln, welche Abonnenten ein bestimmtes Ereignis erhalten.

Ein Beispiel für die effektive Verwendung der Herausgeberfilterung ist das einer Börse. Die meisten Abonnenten möchten wissen, wann eine neue Aktie hinzugefügt wird. Viele dieser Abonnenten möchten es jedoch möglicherweise nicht wissen, wenn sich jeder Aktienkurs ändert. Die Herausgeberfilterung bietet die granulare Flexibilität, die erforderlich ist, um Ereignisse effektiv nur an die Abonnenten zu übermitteln, die diese Informationen benötigen.

Wenn eine Methode für das instanziierte Ereignisklassenobjekt aufgerufen wird, erfasst sie alle Herausgeberfilter für diese Methode. Der Filter zwingt das Ereignisobjekt, die Ereignismethode für einen bestimmten Abonnenten auszulösen. Der Filter bestimmt, welche Abonnements ausgelöst werden sollen und in welcher Reihenfolge sie ausgelöst werden sollen. Der Filter könnte beispielsweise die Abonnementliste lesen und die Bestellung basierend auf einigen Anwendungskriterien erstellen und dann die Abonnenten in dieser Reihenfolge aufrufen.

Ausführliche Anweisungen zum Erstellen eines Herausgeberfilters finden Sie unter Erstellen eines Verlegerfilters.

Parameterfilterung

Im Gegensatz zur Herausgeberfilterung bietet der COM+-Ereignisdienst eine optionale Abonnentenparameterfilterung für jedes Abonnement und jeden Ereignismethodenaufruf. Die Parameterfilterung wertet die FilterCriteria-Abonnementeigenschaft anhand der Parameter der Ereignismethode aus. Diese Art der Filterung wird pro Methode und Abonnement verwendet und bietet eine Ebene der Abonnentenfilterung an der Ereignisquelle. Die Filterkriterienzeichenfolge erkennt relationale Operatoren für die Überprüfung der Gleichheit (=, ==, !, !=, ~, ~=, <>), geschachtelte Klammern und logische Schlüsselwörter AND, OR oder NOT.

Die Parameterfilterung erfolgt nach einer Verlegerfilterung und wenn das Standardereignisobjekt für ein bestimmtes Abonnement ausgelöst wird. Wenn die Verlegerfilterung verwendet wird, erfolgt die Parameterfilterung nur, wenn der Herausgeberfilter IFiringControl::FireSubscription aufruft. Aus diesem Fall können Herausgeberfilterung und Parameterfilterung zusammensetzen, aber die Herausgeberfilterung hat Vorrang.

Veröffentlichen und Übermitteln von Ereignissen in COM+

Abonnements

Das COM+-Ereignisklassenobjekt

Verwenden von COM+-Ereignissen mit COM+-Komponenten in der Warteschlange