我有一个使用 COM+ 组件的应用程序。我试图让这个应用程序在 IIS 中的多个应用程序上工作。每个应用程序都有自己的应用程序池。这就是为什么我需要为每个应用程序分离一个 COM+ 组件。隔离 COM+ 应用程序的一种方法是使用 COM+ 分区。
我在 Windows Server 2008 R2 服务器上的组件服务管理工具中创建了分区。我创建了分区,并在每个分区中创建了一个 COM+ 应用程序。在 IIS 中,我有在不同应用程序池中运行的单独网站。我将每个网站配置为使用分区,并为其分配一个存在的分区 GUID。在我使用分区 guid 设置 IIS 并启用它以使用分区之后,在 IISRESET 之后,我在浏览器中运行网站并收到 HTTP 500 内部服务器错误。我查看了事件查看器,这是错误消息:Failed to create ASP Application XXX due to invalid or missing COM Partition ID。
如果我在组件服务管理工具中禁用分区并在 IIS 中禁用分区,则应用程序可以工作。我需要能够使用分区来允许多个网站使用这些 COM+ 对象同时运行。