将 COM+ 事件与 COM+ 排队组件配合使用

COM+ 事件服务用于管理将事件从发布服务器传送到订阅服务器的过程。 COM+ 排队组件服务可用于使得发布服务器和订阅服务器处理时间保持独立,方法是将发布服务器的消息排队,稍后再将其向订阅服务器重播。 是否需要使用排队组件服务取决于应用程序的基础业务逻辑。 如果需要与时间无关的事件,则可以将 COM+ 事件服务与 COM+ 排队组件服务配合使用来创建它们。

注意

有关使用 COM+ 排队组件服务的其他信息,请参阅 COM+ 排队组件

 

排队组件服务在单个消息中维护方法顺序调用。 记录器将所有方法调用批处理到消息中,然后播放器按照处理消息的顺序调用这些方法。

排队组件记录器和播放器可以位于以下两个位置之一:

  • 在发布服务器和事件对象之间
  • 在事件对象和订阅服务器之间

如果将记录器和播放器放在发布服务器和事件对象之间,则将事件类组件设为可排队。 必须将事件类组件标记为正在排队,并由播放器在独立于发布服务器的进程中将其激活。

若要异步传递事件,请编写事件对象与订阅服务器之间的记录器和播放器,并设置订阅对象的 Queued 属性。 这将设置 SubscriberMoniker,如下所示:“queue:/new:/{12345678-1234-1234-1234-123456789012}”。

在事件情况下使用排队组件时,需要考虑传送影响的顺序。 由于排队组件服务在一条消息中单个对象的生存期内记录和回放所有调用,因此所有调用都按照调用的顺序重播。 但是,如果有多个会话具有多个对象,则无法保证顺序。 如果顺序很重要,请确保需要按顺序回放的调用驻留在同一对象实例上。

筛选 COM+ 中的事件

在 COM+ 中发布和传送事件

订阅

COM+ 事件类对象