在Win 7 64位上开发WCF服务

时间:2013-01-14 10:40:21

标签: c# visual-studio-2010 wcf

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

第三方组件实例化如此

ThirdPartyib.ThirdPartyClass objThird = new ThirdPartyib.ThirdPartyClass;

调用该方法会产生错误

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

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

这个第三方dll是32位。

2 个答案:

答案 0 :(得分:0)

您是否在IIS中托管此应用程序?在这种情况下,您需要使用x64和/或anyCpu库。或者你必须tell IIS it's ok to run in 32-bit mode

答案 1 :(得分:0)

您需要将整个服务编译为x86。这包括您的所有项目:承载WCF服务的服务应用程序,包含WCF服务定义的DLL(如果存在此类DLL)以及您使用的所有其他未编译为的库CPU 和你开发的。

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