Compartir a través de


Filtrado de eventos en COM+

Los eventos COM+ proporcionan dos maneras de controlar qué eventos llegan a qué suscriptores: filtrado de publicador y filtrado de parámetros.

Filtrado de publicador

El filtrado del publicador controla el orden y la activación de un método de evento mediante un objeto de clase de evento . El filtrado de publicadores permite al publicador determinar qué suscriptores reciben un evento determinado.

Un ejemplo de uso eficaz del filtrado de publicadores es el de una bolsa de valores. La mayoría de los suscriptores quieren saber cuándo se agrega un nuevo stock. Sin embargo, es posible que muchos de estos mismos suscriptores no quieran saber cuándo cambia cada precio de acciones. El filtrado del publicador proporciona la granularidad necesaria para entregar eventos de forma eficaz solo a los suscriptores que desean esta información.

Cuando se invoca un método en el objeto de clase de eventos con instancias, recopila los filtros de publicador en ese método. El filtro obliga al objeto de evento a activar el método de evento a un suscriptor específico. El filtro determina qué suscripciones se activarán y en qué orden se activarán. Por ejemplo, el filtro podría leer la lista de suscripciones y crear el pedido en función de algunos criterios de aplicación y, a continuación, llamar a los suscriptores en ese orden.

Para obtener instrucciones detalladas sobre cómo crear un filtro de publicador, consulte Creación de un filtro de publicador.

Filtro de parámetros

A diferencia del filtrado del publicador, el servicio Eventos COM+ proporciona un filtrado de parámetros de suscriptor opcional para cada suscripción y cada invocación de método de evento. El filtrado de parámetros evalúa la propiedad FilterCriteria de suscripción con los parámetros del método de evento. Este tipo de filtrado se usa por método, por suscripción y proporciona un nivel de filtrado de suscriptor en el origen del evento. La cadena de criterios de filtro reconoce los operadores relacionales para comprobar la igualdad (=, ==, !, !=, ~, ~=, <>), paréntesis anidados y palabras clave lógicas AND, OR o NOT.

El filtrado de parámetros se produce después de cualquier filtrado del publicador y cuando se desencadena el objeto de evento estándar para una suscripción determinada. Si se usa el filtrado de publicador, el filtrado de parámetros solo se produce cuando el filtro del publicador invoca IFiringControl::FireSubscription. Por este motivo, el filtrado del publicador y el filtrado de parámetros pueden crearse juntos, pero el filtrado del publicador tiene prioridad.

Publicación y entrega de eventos en COM+

Suscripciones

Objeto de clase de eventos COM+

Uso de eventos COM+ con componentes en cola de COM+