簡體   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