COM+ 应用程序的各个部分

COM+ 应用程序由一个或多个 COM 组件组成。

COM+ 文档中使用了以下术语:

COM 组成

创建 COM 对象的二进制代码单元(包括打包和注册代码)。

COM 对象

COM 类的实例。

COM 类

一个或多个接口的命名的具体实现。 COM 类由 CLSID 标识(有时也由 ProgID 标识)。

COM 接口

由指定协定的 COM 类公开的一组相关方法函数。 这包括名称、接口签名、接口语义和封送缓冲区格式。 接口由 IID 标识。 接口语法在 IDL 和/或类型库中定义。 COM 类的接口应该划分为可管理的、内聚的方法集。

COM 接口不可变;COM 协定指出无法修改它们。 任何修改(如添加方法)都需要定义新接口。

COM 方法

COM 接口提供的一组相关函数之一。

已配置的组件和未配置的组件

为了充分利用 COM+ 应用程序支持的服务,COM+ 环境对为 COM+ 应用程序生成的 COM 组件提出了特定要求。 添加到 COM+ 应用程序时,COM 组件称为已配置的组件

为 COM+ 应用程序生成的 COM 组件是进程内服务器组件。 该组件必须包含类型库(.tlb 文件)来描述组件中实现的所有类,并在组件中的所有类上声明接口。 可以使用 Microsoft Visual Basic、Microsoft Visual C++ 或任何与 COM 兼容的开发工具创建和实现这些组件。

未配置的组件是在 COM+ 应用程序中未安装的组件。 只需将大多数未配置的组件集成到 COM+ 应用程序中,就可以将它们转换为已配置的组件。

注意

不要对 COM+ 应用程序和注册表中未配置的组件使用相同的 AppID。 当未配置的组件被激活时,由于激活可能会从注册表中检索不包含 COM 激活所需信息的 COM+ 应用程序信息。 如果从托管 COM+ 服务器应用程序的 DllHost 调用 CoRegisterClassObject,也可能会出现类似的问题。