筛选 COM+ 中的事件

COM+ 事件提供了两种方法来控制哪些事件到达哪些订阅服务器:发布服务器筛选参数筛选

发布服务器筛选

发布服务器筛选按事件类对象控制事件方法的顺序和激发。 发布服务器筛选允许发布服务器确定哪些订阅服务器接收特定事件。

有效使用发布服务器筛选的一个示例是证券交易所。 大多数订阅者都想知道何时添加新的股票。 然而,这些订阅者中的许多人可能不想知道每只股票的价格何时变化。 发布服务器筛选提供了有效地将事件仅传递给需要此信息的订阅者所需的粒度。

当在实例化的事件类对象上调用一个方法时,它会收集该方法上的任何发布服务器筛选器。 筛选器强制事件对象将事件方法激发到特定订阅者。 筛选器确定要激发的订阅以及激发订阅的顺序。 例如,筛选器可以读取订阅列表,并根据某些应用程序条件创建顺序,然后按该顺序调用订阅者。

有关创建发布服务器筛选器的详细说明,请参阅创建发布服务器筛选器

参数筛选

与发布服务器筛选不同,COM+ 事件服务为每个订阅和每个事件方法调用提供可选的订阅服务器参数筛选。 参数筛选根据事件方法的参数计算订阅 FilterCriteria 属性。 这种类型的筛选按方法、按订阅使用,并在事件源上提供一定级别的订阅者筛选器。 筛选器条件字符串可识别检查相等性的关系运算符(=、==、!、!=、~、~=、<>)、嵌套括号和逻辑关键字 ANDORNOT

参数筛选发生在任何发布服务器筛选之后,以及为给定订阅激发标准事件对象时。 如果使用发布服务器筛选,则仅当发布服务器筛选器调用 IFiringControl::FireSubscription 时,才会进行参数筛选。 因此,发布服务器筛选和参数筛选可以组合在一起,但发布服务器筛选优先。

在 COM+ 中发布和传送事件

订阅

COM+ 事件类对象

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