Partager via


Filtrage des événements dans COM+

Les événements COM+ offrent deux façons de contrôler les événements qui atteignent les abonnés : le filtrage de l’éditeur et le filtrage de paramètres.

Filtrage des éditeurs

Le filtrage de l’éditeur contrôle l’ordre et le déclenchement d’une méthode d’événement par un objet de classe d’événements . Le filtrage de l’éditeur permet à l’éditeur de déterminer quels abonnés reçoivent un événement particulier.

Un exemple d’utilisation efficace du filtrage d’éditeur est celui d’une bourse. La plupart des abonnés veulent savoir quand une nouvelle action est ajoutée. Toutefois, bon nombre de ces mêmes abonnés peuvent ne pas vouloir savoir quand le cours de chaque action change. Le filtrage des éditeurs fournit la granularité requise pour transmettre efficacement des événements aux seuls abonnés qui souhaitent ces informations.

Lorsqu’une méthode est appelée sur l’objet de classe d’événements instancié, elle collecte tous les filtres d’éditeur sur cette méthode. Le filtre force l’objet d’événement à déclencher la méthode d’événement sur un abonné spécifique. Le filtre détermine les abonnements à déclencher et dans quel ordre les déclencher. Par exemple, le filtre peut lire la liste des abonnements et créer l’ordre en fonction de certains critères d’application, puis appeler les abonnés dans cet ordre.

Pour obtenir des instructions détaillées sur la création d’un filtre d’éditeur, consultez Création d’un filtre d’éditeur.

Filtrage des paramètres

Contrairement au filtrage d’éditeur, le service Événements COM+ fournit un filtrage de paramètre d’abonné facultatif pour chaque abonnement et chaque appel de méthode d’événement. Le filtrage de paramètres évalue la propriété FilterCriteria d’abonnement par rapport aux paramètres de la méthode d’événement. Ce type de filtrage est utilisé par méthode et par abonnement et fournit un niveau de filtrage des abonnés au niveau de la source de l’événement. La chaîne de critères de filtre reconnaît les opérateurs relationnels pour vérifier l’égalité (=, ==, !, !=, ~, ~=, <>), les parenthèses imbriquées et les mots clés logiques AND, OR ou NOT.

Le filtrage des paramètres se produit après tout filtrage de l’éditeur et lorsque l’objet d’événement standard est déclenché pour un abonnement donné. Si le filtrage de l’éditeur est utilisé, le filtrage des paramètres se produit uniquement lorsque le filtre d’éditeur appelle IFiringControl::FireSubscription. Pour cette raison, le filtrage d’éditeur et le filtrage de paramètres peuvent composer ensemble, mais le filtrage de l’éditeur est prioritaire.

Publication et remise d’événements dans COM+

Abonnements

Objet de classe d’événements COM+

Utilisation d’événements COM+ avec des composants mis en file d’attente COM+