我正在使用Web引用調用外部服務。知識產權是動態的,所以我一個接一個地給他們打電話,一切正常。定期地,一些IP將不可用,並且正在處理我正在處理的超時。問題是每次通話超時所需的時間約爲30秒。我試圖改變ws的超時屬性爲5秒,但它似乎沒有什麼區別。有人可以幫助我嗎?C#Web引用調用超時
4
A
回答
0
你說你改變了「ws的超時屬性爲5秒」。如果您要更改服務器上的超時時間,那麼當您的客戶端無法連接時,這不會對您有所幫助。
您正在使用「Web參考」,因此我假設您有一個從System.Web.Services.Protocols.SoapHttpClientProtocol
派生的客戶端類。該類來自System.Web.Services.Protocols.WebClientProtocol
,它具有Timeout屬性。嘗試在撥打電話之前更改客戶端上的屬性,並查看是否獲得更好的結果。
1
下面是答案我一直在尋找: Adjusting HttpWebRequest Connection Timeout in C#
****重要片段:****
從HttpWebRequest.Timeout
屬性的MSDN文檔:
一域名系統(DNS)查詢最多可能需要秒才能返回或時間爲 。如果您的請求包含需要解析的主機名,並且您將Timeout設置爲小於15秒的值,則可能需要15秒或更長時間纔會引發WebException,以指示請求超時。
0
,如果你創建一個代理對象,在這裏調用Web服務之前ping IP地址可能有幫助是平級的細節http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping.aspx
1
你可以執行DNS查找自己用更短的時間(例如, 1000毫秒):
然後(如果IP地址被發現),使用的IP地址(避免使用例如超時DNS查找,你無法控制超時)執行Web服務調用4000毫秒(甚至更好:5000毫秒 - (DNS查找花費的時間)),以實現5000毫秒的總超時。
相關問題
- 1. 調用Web服務時超時
- 2. C#超時異步調用
- 3. C#web引用 - 在app.config中設置超時
- 4. Web服務調用超時問題
- 5. WCF Web服務調用超時
- 6. 同步Web服務調用超時
- 7. 在C#中爲Web服務調用捕獲超時
- 8. 超時在C#中的異步Web服務調用
- 9. 慢速Web服務調用在C#中的超時
- 10. 超時()調用
- 11. C++調用超類
- 12. 作爲Web引用消耗時增加超時(不是服務引用)
- 13. 調用與超時
- 14. C#調用Web服務,但時間
- 15. 使用C#中的可選參數從Web引用調用WebMethod
- 16. Java.mail超時時調用
- 17. 調用.NET Web服務超時(使用KSOAP2的Android開發)
- 18. Codeigniter:太多的Ajax調用導致Web應用程序超時
- 19. 異步調用Web服務時設置超時
- 20. 調用基於流的Web服務時獲取重複超時
- 21. 如何調整客戶端超時在C#Windows窗體應用程序app.config文件,調用Web服務的Web引用
- 22. 使用ASPX調用Web引用頁面
- 23. 使用AWS C++ SDK時,調用UpdateThing返回504網關超時
- 24. C#:調用JSONAPI函數時引發UriFormatException
- 25. 調用由C++中引用
- 26. 404從另一個c#web窗體應用程序調用c#web API時
- 27. 從C++調用Web服務
- 28. 調用C#ASMX Web服務
- 29. 調用https web服務(C#)
- 30. 調用Web API,通過引用API DLL
你能發表一些你如何調用服務的代碼,以及你如何設置超時? – taylonr 2010-08-24 18:22:45
//全球物業 private WebService.Service1 _ws = new WebService.Service1(); //在構造函數中 _ws.Timeout = 5000; //方法調用 return _ws.create_session(string.Concat(_Domain,@「\」,_UserName),_Password,out lErrorCode); – Jim 2010-08-24 18:27:56
除非有關於這個問題的更多信息,否則我只是推薦一個徹底的調試會話。仔細檢查代碼,並確保它是對Web服務的調用,而不是其他事情花費那麼長時間。如果是這樣,那麼當您單步執行代碼時,請檢查在進行調用時Timeout屬性的值是多少。您可能已經將Timeout設置爲5000,但也許其他設置有所不同。 – 2010-08-24 20:45:27