部署应用程序代理
若要从另一台(客户端)计算机远程访问 COM+ 服务器应用程序,客户端计算机必须安装服务器应用程序的属性子集,包括用于 DCOM/QC 接口远程处理的代理/存根 DLL 和类型库。 此子集称为应用程序代理。
通过组件服务管理工具,可以轻松地将 COM+ 服务器应用程序导出为应用程序代理。 若要使 COM+ 生成应用程序代理,必须安装服务器应用程序中的所有组件,并且未导入所有这些组件。 (有关此区别的详细信息,请参阅导入组件。)这可确保应用程序包含所有必要的注册信息。
注意
建议将接口定义与类实现分开。 否则,COM+ 应用程序代理中包含的 DLL 或类型库集将包含实际的服务器代码。
COM+ 生成的应用程序代理是 Windows Installer 安装包。 安装后,应用程序代理将显示在客户端计算机的“添加/删除程序”控制面板中(除非使用 Windows Installer 创作工具修改 .msi 文件)。
通过应用程序代理进行远程访问
生成应用程序代理时,COM+ 会自动提供以下信息,以便满足应用程序代理远程访问 COM+ 服务器应用程序所需:
- 类标识信息(CLSID 和 ProgID)。 应用程序代理最多支持两个 ProgID。
- 应用程序标识和类与应用程序的关系 (AppID)。
- 每个应用程序的位置信息(远程服务器名称)。
- 封送处理应用程序公开的所有接口的信息(例如类型库和代理/存根)。
- MSMQ 队列名称和标识符(如果为应用程序启用了排队组件服务)。
- 类、接口和方法属性,不包括角色信息。
- 应用程序属性。
在其他操作系统上安装应用程序代理
与 COM+ 服务器应用程序不同,可以将应用程序代理安装在支持 DCOM(和 Windows Installer)的任何操作系统上。 在未运行 COM+ 的计算机上,仅安装 DCOM 远程处理所需的信息子集。 会将此类信息安装到 Windows 注册表中(使用 HKEY_CLASSES_ROOT, APPID/CLSID 项)。
注意
在未运行 COM+ 的计算机上安装应用程序代理(.msi 文件),需要在这些计算机上安装 Windows Installer。 建议开发人员将 Windows Installer 可再发行文件 (instmsi.exe) 及其应用程序的 .msi 文件一起发送。 这将确保在未运行 COM+ 的客户端上部署应用程序代理时,系统管理员可以使用 Windows Installer。
在运行 COM+ 的计算机上,会将应用程序代理信息安装到 COM+ 目录中,并且此类信息将在组件服务管理工具中可见。
相关主题