6

通过“传统”方式,我的意思是在注册表中注册 DLL。

似乎还有另一种设置方法,方法是转到 mmc->Component Services->COM+ Applications 并添加.tlb文件。

我有一个支持这两种方法的 COM 库。安装时,它会在注册表中将自己注册为 COM 组件,并且可以正常工作。但是,当我.tlb使用组件服务方法添加文件时,行为似乎有所不同,并且开始出现错误。

我怀疑它与封送处理和进程间对象传输有关?(对不起,我真的是COM领域的菜鸟)

谁能给我指出一个很好的资源来澄清我的理解?

4

2 回答 2

12

COM+(组件服务)提供了很多开箱即用的基础设施;例如 COM+ 提供事务、安全、对象池和其他一些服务。

当您在 COM+ 下注册 COM 组件时,它将运行“Out Of Process”;在这种模式下,您可以保证在您的 COM 服务器和它的客户端之间有一个代理。

我能想到的了解更多关于 COM+ 的最佳地点是官方 MS 站点:http: //msdn.microsoft.com/en-us/library/ms685978 (VS.85).aspx

于 2010-06-02T04:35:18.697 回答
3

同意之前的帖子。

补充一点:实际注册类型库(.tlb 文件)对于 COM 也是正常的,而不仅仅是 COM+。类型库由 IDL 编译器自动生成。它包含您的接口和对象的描述。

这样您就可以将您的 COM 组件“导入”到某个项目中,并且接口和对象的定义是可见的。

于 2010-06-02T05:49:34.890 回答