我们有一些COM+ Application
由几个DLL
s 组成,每个包含几个服务组件(用 C# 编写),在 Windows Server 2003/2008R2 操作系统上运行。
在某些情况下(我们尽量避免),我们有义务应用补丁来纠正错误。为了实现这一点,我们目前所做的是(当然假设我们在目标服务器上拥有所有需要的东西):
- 禁用COM+ 应用程序。
- 关闭COM+ 应用程序。
- 注销涉及要替换的 DLL。
- 替换DLL。
- 再次注册所涉及的 DLL。
- 启用COM+ 应用程序。
上面提到的步骤没有问题,我们COM+ Application Catalog
通过命令行构建了一个用于以编程方式管理的小应用程序,因此我们可以更新一些 DLL 并使服务的组件生活在大约。2 秒... 这对我们来说并不算多,我们可以负担这个(离线)时间,但我想通过编写一个补丁工具来改进和自动化整个过程。
我想弄清楚的是:
- 我怎么知道我的所有服务组件
COM+ Application
都已完成工作(所有请求/调用都已完成),以便我可以安全地进行第 2 点? - 更详细地说,有没有我可以用来获取
Serviced Components
某个状态的库COM+ Application
?
注意:如果您习惯使用dcomcnfg,我需要访问的数据与您在展开COM+ Application
文件夹Console Root\Computers\My Computer\<MyComPlusApp>
,然后展开文件夹Components
并转到菜单View
并选择Status
菜单项。Windows 当然能够知道COM+ Serviced Component
屏幕上显示它的每一个状态,所以这正是我需要访问的数据。