无法使用IIS 7从Web Service调用COM组件

时间:2015-03-20 09:01:32

标签: c# .net web-services iis-7 com

我有一个第三方COM组件,它被称为Web服务。虽然这适用于我的开发机器,但我在生产服务器上得到了这个例外:

  

使用CLSID检索组件的COM类工厂   {6B7271AE-39C7-4C9E-B75F-6EDFCDBD623D}由于以下错误而失败:   80040154未注册类(HRESULT异常:0x80040154   (REGDB_E_CLASSNOTREG))。

服务器:Win 2008 R2 Enterprise,64位

IIS:版本7.5.7600.16385

我检查了什么

注册表项

HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{6B7271AE-39C7-4C9E-B75F-6EDFCDBD623D}

存在于生产服务器上并指向正确的DLL(C:\ Program Files(x86)... \ xyz.DLL

(注册表中没有此GUID的其他CLSID条目)

第三方的测试程序在生产服务器上正常工作

(所以COM DLL工作正常)

我尝试了什么

(C#/ .Net)控制台应用程序可以在生产服务器上正确调用COM组件。

(所以.Net互操作和com注册都可以)

如果在我的开发机器上运行,Web服务可以调用COM组件。

(所以程序逻辑没问题)

Ich bin mit meinem Latein am Ende

(德语:我在我的智慧结束时)

1 个答案:

答案 0 :(得分:0)

如上所述:web service with com 从Peter Hahndorf那里得到的答案非常简单:

IIS应用程序池设置Enable 32 Bit Applications必须为true。

(IIS->应用程序池 - >设置应用程序池默认值)

然后,Web服务可以访问COM组件。