繁体   English   中英

从asp.net调用Web服务会导致异常,但从Windows应用程序不会吗?

[英]Calling web service from asp.net causes exception but from windows app does not?

我有一个使用Bing转换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或诸如此类的东西)上的策略,因为我尝试使用另一个Internet连接(外部域,没有防火墙的普通DSL),效果很好! 但是当我运行Windows应用程序时,该政策如何不适用?

还要检查运行网站的应用程序池的身份。 如果它以LocalSystem或LocalService帐户运行,则无法访问外部资源(例如Internet Web服务)。 在这种情况下,使用NetworkService帐户重新配置应用程序池(或者更好的方法是创建一个新的专用应用程序池)可能会解决该问题。

您可以将应用程序放置在不允许您的Intranet进行访问的Web服务器上。

您可能还需要研究模拟 ,才能通过防火墙。

是否有可能在Windows应用程序中使代理保持实例化,但在Web应用程序中使代理超出范围并在两次请求之间重新创建? 您可能需要在请求之间保持实例化代理,以保持“连接”的建立。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM