COM+编程模型深度解析
1. 企业系统开发与COM+概述
开发企业系统需要实现诸多基础设施特性,如可扩展性、健壮性、安全性和事务支持等。过去,开发企业系统需要耗费大量的时间和资源。COM+作为与Windows 2000打包的高级COM运行时环境,为许多通用的基础设施问题提供了解决方案,其提供的服务有助于开发企业系统。
2. COM+服务与组件配置
COM+提供了一系列服务,如同步、事务、排队和安全等。开发者可以利用这些服务来构建企业系统。组件需要进行配置,以向COM+表明其希望使用的特定COM+服务。当客户端创建配置好的组件对象时,COM+会为该对象设置所需的服务。COM对象的配置设置决定了对象的某些运行时要求,这些要求统称为对象的上下文。
3. 基于属性的编程
在深入探讨COM+编程模型之前,我们需要思考一个问题:“既然我可以在代码中实现相同的功能,为什么还要使用COM+服务呢?”
以一个非线程安全的组件为例,为了保护其内部状态,需要对组件的访问进行序列化,即同一时间只允许一个客户端访问。可以使用Win32 API进行资源锁定,步骤如下:
1. 当客户端请求到来时,锁定组件,防止其他客户端访问。
2. 执行客户端请求的任务。
3. 解锁组件,释放其所有权。
然而,这种方法存在一些问题:
- 问题1:编写和维护的代码越多,开发成本越高。
- 问题2:组件中的方法越多,人为出错的可能性就越大。可能会忘记在某些方法中调用资源锁定API,或者忘记解锁资源,导致组件在整个进程生命周期内无法被访问。
一般来说,由平台提供服务比自己编
超级会员免费看
订阅专栏 解锁全文

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



