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...