Partager via


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

Pour publier un événement, instanciez simplement un objet de classe d’événements et appelez la méthode souhaitée ; Pour obtenir des instructions détaillées sur la façon de procéder dans le code, consultez Publication d’un événement.

Lorsqu’un éditeur déclenche un événement, le service Événements COM+ recherche la base de données d’abonnement pour trouver tous les abonnés qui ont inscrit des abonnements à la classe d’événements instanciée. Il se connecte à ces abonnés (par création directe, monikers ou composants mis en file d’attente) et appelle la méthode . Pour prendre en charge plusieurs notifications d’abonné pour un événement, les méthodes peuvent contenir uniquement dans des paramètres et doivent retourner uniquement les valeurs HRESULT de réussite ou d’échec.

Notes

Cette version des événements COM+ ne prend pas en charge un magasin d’événements distribué. Un abonné doit s’abonner à un événement sur chaque ordinateur à partir duquel il souhaite recevoir une notification. Vous pouvez également inscrire l’objet de classe d’événements et les abonnements sur un ordinateur central et instancier cet objet de classe d’événements à partir des ordinateurs distants sur lesquels vous publiez des événements. La remise des événements est fournie par DCOM ou par le service de composants en file d’attente COM+. Pour plus d’informations sur l’utilisation du service de composants mis en file d’attente COM+, consultez Utilisation d’événements COM+ avec des composants mis en file d’attente COM+.

 

Par défaut, le service d’événements COM+ déclenche les événements un par un, sans ordre déterminé ou reproductible. Les éditeurs qui doivent contrôler l’ordre dans lequel les abonnés reçoivent un événement peuvent implémenter un filtre d’éditeur. (Pour plus d’informations, consultez Filtrage des événements dans COM+.)

Filtrage des é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+