Webservice超時問題

2021-09-08 14:03:23 字數 1224 閱讀 3585

winform客戶端呼叫webservice 120秒超時.對此問題,針對伺服器與客戶端分別作了超時設定為300s.

1. 伺服器端設定超時

在 web.config 的 system.web 裡新增如下配置項:

記得要把 web.config 的 debug 模式關閉:

< compilation 

defaultlanguage="c#"

debug="false"

/>

2. 客戶端設定超時

在 webservice 的客戶端**程式(用 wsdl.exe 生成)裡設定 request 超時時間, 單位是毫秒:

protected override webrequest getwebrequest(uri uri)

但還是會出現120s超時.

此問題可以得出以下結論:

1:可能是伺服器的問題

2:可能是客戶端.net環境配置的問題

3:可能是網域的問題

4:可能是網路的問題

對此.分別作如下測試:

1:更換客戶端電腦.測試有些電腦出現超時,有些電腦不會超時.可以肯定.伺服器是沒有問題

2:分別檢視幾台客戶端電腦配置,以沒有發現問題.

3:在同乙個網域裡面,有的電腦不會超時,有些電腦超時.所以,可以排除網域問題.

4:對於網路的問題,有分別檢視各網段路由設定.但沒有發現問題.

以上的測試,好象都可以排除.難不成是ms的bug.在網上查了一通,根本沒有本到什麼結果.現在,回頭想一想webservice原理:

客戶端和服務端把請求和資料結果以xml的形式進行soap包裝,以http等形式進行傳送,從而實現相應互動

根據webservice原理,應該可以肯定是http超時.那麼問題到底出現在**,路由器設定沒有問題,網路也通順.會不會是ie版本 問題.問題越來越接近.最後檢視半天,沒有發現問題,偶然點了一下ie的**設定 .發現有設定**.難不成是**引發超時.經過最後測試.發現問題的根本原因就是**設定超時時間120s.

總結一下:

webservice超時問題,先應該從程式上著手.比如:web.config超時設定, 以及客戶端的超時設定 .如果設定後還是發生超時.那就得從webservice執行原理上去找原因.也就是從http上找原因:比如:網路問題 ,ie**設定問題, 以及其它對網路設定引發超時的問題

web service超時問題

錯誤資訊 資訊 100 continue read timeout.resume sending the request 資訊 discarding unexpected response http 1.1 100 continue 訪問時間要70s左右 客戶端 上加 遠端呼叫銀聯系統 通過 客戶端...

關於WebService的操作超時問題

在做ws時候,這種現象我也經常碰到,伺服器端也沒發現什麼異常現象,客戶端呼叫webservice出現超時408,後續訪問基本就一直是超時,即使重啟程式也不行,除非用ie訪問一下那個webservice 也出現大半天後重新恢復ok的情況 剛開始還以為是超時時間設定得太短,於是產生下面的 來修改配置檔案...

呼叫webservice超時問題的解決

2 擴大 類的超時限制,預設是90秒 yourwebservice yws new yourwebservice yws.timeout 1200000 20分鐘 3 iis屬性 連線超時時間 1200秒 請求執行超時時間為600秒 預設為110秒 2 設定 web services 的 timeo...