Compartir a través de


Suscripciones

Los datos de suscripción residen en el catálogo COM+ de la suscripción. Se puede crear una suscripción mediante la herramienta administrativa Servicios de componentes o mediante programación mediante la interfaz ICOMAdminCatalog::InstallComponent .

La colección SubscriptionsForComponent se usa para agregar, eliminar o cambiar información relativa a las suscripciones. La colección SubscriptionsForComponent es una colección secundaria de un componente. Para agregar una suscripción, obtenga la colección SubscriptionsForComponent del componente y use el método Add para agregar una entrada a la colección. Para configurar las distintas propiedades del objeto de suscripción, use la propiedad Value . Para guardar los cambios, use SaveChanges en el objeto de colección SubscriptionsForComponent .

También puede usar la herramienta de administración servicios de componentes para modificar algunas propiedades de suscripción, pero no todas. Las suscripciones especifican la siguiente información:

  • Identidad y ubicación del suscriptor
  • Método de entrega
  • Métodos de evento para entregar
  • Objeto de clase de evento y propiedad PublisherID de un componente de clase de eventos del que el suscriptor quiere recibir eventos

Las suscripciones existen independientemente de los objetos de clase de eventos. Puede deshabilitar una suscripción estableciendo la propiedad Enabled en False. Eventos COM+ no llama a una suscripción deshabilitada.

Los tres tipos de suscripciones son los siguientes:

Persistente

Las suscripciones persistentes residen en el catálogo COM+ y son independientes de la duración del suscriptor. Las suscripciones persistentes sobrevive a un reinicio del sistema. Por lo general, se crea una suscripción persistente cuando se instala una aplicación en el equipo de un suscriptor y se quita cuando se quita la aplicación. Una vez creada una suscripción persistente, eventos COM+ activa el suscriptor cada vez que se debe entregar un evento.

Cuando un publicador crea una instancia y realiza una llamada en un objeto de clase de evento , el objeto busca todas las suscripciones persistentes en el catálogo COM+ y crea una nueva instancia de cada objeto. El proceso de creación puede ser directo o a través de un moniker para los componentes en cola. Especifique el objeto de suscriptor por la propiedad SubscriberMoniker de la suscripción. Los objetos de suscriptor creados por una suscripción persistente siempre se liberan después de cada llamada de evento.

Transitoria

En el caso de las suscripciones transitorias, puede usar la colección TransientSubscriptions , cuyo objeto primario es el objeto de catálogo raíz. Las suscripciones transitorias solicitan un evento para un objeto de suscriptor específico que ya existe. Las suscripciones transitorias se almacenan en el catálogo COM+, pero la suscripción se elimina si se detiene el sistema de eventos o el sistema operativo. A diferencia de las suscripciones persistentes, las suscripciones transitorias están vinculadas a un objeto determinado y solo se almacenan en el sistema de eventos. Las suscripciones transitorias pueden ser más eficaces que las suscripciones persistentes, pero debe administrar sus ciclos de vida de objetos. Para obtener información sobre cómo registrar una suscripción transitoria, consulte Registro de una suscripción transitoria.

Por usuario

Las suscripciones por usuario solo pueden entregar eventos cuando el suscriptor haya iniciado sesión en el equipo del sistema de eventos. Cuando el suscriptor inicia sesión, el sistema de eventos habilita todas las suscripciones en las que la marca PerUser está establecida en TRUE y UserName se establece en el nombre del usuario que ha iniciado sesión. Cuando el suscriptor cierra sesión, las suscripciones están deshabilitadas.

Las suscripciones por usuario solo son efectivas cuando el publicador y el suscriptor están en el mismo equipo. El inicio de sesión y el inicio de sesión solo se detectan en el equipo del publicador, no en el equipo en el que reside el objeto de suscriptor.

El sistema de eventos usa metadatos para notificar a los suscriptores interesados cada vez que se crean, modifican o quitan objetos de clase de eventos o suscripciones. Para recibir metadatos del sistema de eventos, las aplicaciones deben crear una suscripción que resida en el equipo del sistema de eventos y que especifique el identificador de interfaz de activación (IID_IEventObjectChange).

Filtrado de eventos en COM+

Publicación y entrega de eventos en COM+

El objeto de clase de eventos COM+

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