我有一个使用Bing Translate Web服务的asp.net网站(http://api.microsofttranslator.com/V2/Soap.svc)
调用该服务的代码会导致异常(http://api.microsofttranslator.com/V2/soap.svc处没有可以接受该消息的端点。这通常是由不正确的地址或SOAP操作引起的。有关详细信息,请参阅InnerException(如果存在) 。)
但是相同的代码适用于Windows应用程序。
代码:
BingService.LanguageServiceClient client = new BingService.LanguageServiceClient();
res = client.Translate(BingAppID, "text", "en", "ar", "text/plain", "general");
我怀疑它可能来自我的域名上的政策(iis或类似的东西)因为我试图使用另一个互联网连接(外域,普通DSL没有防火墙)它工作正常!但是当我运行Windows应用程序时,这个策略怎么不适用?
答案 0 :(得分:4)
同时检查运行网站的应用程序池的标识。如果它在LocalSystem或LocalService帐户下运行,则无法访问外部资源(例如Internet Web服务)。在这种情况下,使用NetworkService帐户重新配置应用程序池(或者更好,创建新的专用应用程序池)可能会解决问题。
答案 1 :(得分:3)
您可以将该应用程序放在不允许在Intranet之外进行访问的Web服务器上。
您可能还需要查看Impersonation您可能需要通过防火墙。
答案 2 :(得分:0)
在Windows应用程序中,代理是否可以保持实例化,但在Web应用程序中代理超出范围并在请求之间重新创建?您可能需要在请求之间保持代理实例化以保持“连接”建立。