0

我正在尝试在 64 位 Win 7 上开发 WCF 服务。该服务必须利用第三方组件来完成它的工作。

3rd 方组件是这样实例化的

ThirdPartyib.ThirdPartyClass objThird = new ThirdPartyib.ThirdPartyClass;

调用该方法会给出错误

*调用服务失败。可能原因:服务离线或无法访问;客户端配置与代理不匹配;现有代理无效。有关更多详细信息,请参阅堆栈跟踪。您可以尝试通过启动新代理、恢复到默认配置或刷新服务来恢复。*

当我注释掉第三方 dll 的实例化部分并返回一个简单的字符串时,它工作正常。事实上,我什至尝试使用该服务在本地创建一个文件夹,这也可以。我该怎么做才能使服务与第 3 方 dll 一起使用?

这个第 3 方 dll 是 32 位的。

4

2 回答 2

0

您是否在 IIS 中托管此应用程序?在这种情况下,您要么需要使用 x64 和/或 anyCpu 库。或者您必须告诉 IIS 可以在 32 位模式下运行

于 2013-01-14T11:09:34.760 回答
0

您需要将整个服务编译为 x86。这包括您的所有项目:托管 WCF 服务的服务应用程序、包含 WCF 服务定义的 DLL(如果有这样的 DLL)以及您使用的所有其他未编译为任何 CPU的库,并且你开发。

简短:整个解决方案必须仅使用 x86。

于 2013-01-14T13:01:32.553 回答