Compartilhar via


Publicação e entrega de eventos em COM+

Para publicar um evento, basta instanciar um objeto de classe de evento e invocar o método desejado, para obter instruções detalhadas sobre como fazer isso no código, consulte Publicando um evento.

Quando um editor dispara um evento, o serviço COM+ Events pesquisa o banco de dados de assinatura para localizar todos os assinantes que registraram assinaturas para a classe de evento instanciada. Ele se conecta a esses assinantes (por criação direta, apelidos ou componentes em fila) e chama o método. Para oferecer suporte a mais de uma notificação de assinante para um evento, os métodos podem conter apenas parâmetros e devem retornar apenas valores HRESULT de êxito ou falha.

Observação

Esta versão dos eventos COM+ não oferece suporte a um repositório de eventos distribuído. Um assinante deve se inscrever em um evento em cada computador do qual deseja receber notificação. Como alternativa, você pode registrar o objeto de classe de evento e as assinaturas em um computador central e instanciar esse objeto de classe de evento dos computadores remotos nos quais você publica eventos. A entrega de eventos é fornecida pelo DCOM ou pelo serviço de componentes em fila COM+. Para obter mais informações sobre como usar o serviço de componentes em fila COM+, consulte Usando eventos COM+ com componentes em fila COM+.

 

Por padrão, o serviço de eventos COM+ dispara eventos um de cada vez, sem ordem determinada ou repetível. Os editores que precisam controlar a ordem em que os assinantes recebem um evento podem implementar um filtro de editor. (Para obter mais informações, consulte Filtrando eventos em COM+.)

Filtrando eventos no COM+

Assinaturas

O objeto de classe de evento COM+

Usando eventos COM+ com componentes em fila COM+