深入理解松散耦合事件(LCEs)与COM+事件机制
1. 松散耦合事件(LCEs)概述
传统紧密耦合事件(TCE)技术虽有用,但在某些场景存在缺陷:
- 生命周期紧密耦合 :发布者和订阅者的生命周期紧密相连,订阅者需持续运行并连接到发布者才能接收事件,在企业系统中扩展性不佳。
- 分布式环境适配性差 :像连接点这类技术在建立和断开连接时往返次数多,效率低,且无机制保证持久连接。
- 缺乏事件过滤机制 :订阅者可能会收到所有事件,即使只对部分事件感兴趣。
为解决这些问题,可在比接口指针更高的抽象级别绑定发布者和订阅者,形成松散耦合事件(LCE)系统。简单实现方式是让发布者维护订阅者CLSID的外部数据库,不过该方式存在开发和维护代码以及缺乏标准订阅流程的问题。而COM+定义的COM+ Events机制可解决这些问题。
2. COM+ Events架构
COM+ Events架构提供管理和维护订阅数据库的内置逻辑,定义了发布者和订阅者的标准交互格式。其架构中,发布者和订阅者通过事件类这一中间对象解耦。事件类是COM+组件,包含发布者触发事件的接口和方法,事件是对事件类接口方法的单次调用。
- 事件类存储 :事件类存储在COM+目录中,存储事件信息的部分称为事件存储。
- COM+ Event服务 :负责匹配和连接发布者与订阅者。订阅者通过向COM+事件服务注册订阅来表达接收事件的意愿,订阅信息存储在COM+目录中。
超级会员免费看
订阅专栏 解锁全文
61

被折叠的 条评论
为什么被折叠?



