2017-04-06 29 views
1

我試過以下解決方案:服務器只對長請求沒有響應。底層連接已關閉。 ReadResponse()失敗

1)增加客戶端請求中的超時。

2)增加在web.config中的httpRuntime標籤服務器ExecutionTimeout。

3)我一直在使用這兩種ASMX和WCF服務的嘗試。即使服務器頁面需要時間(後面的代碼),也會出現錯誤"ReadResponse() failed: The server did not return a response for this request."

4)從IIS更改應用程序池超時。

5)更改IIS>我的網站> HTTP響應頭>設置常用標題>啓用/禁用HTTP活着

我使用下面的代碼來測試服務器超時問題:

[WebMethod] 
    public string LongRequest(int delaySeconds) 
    { 
     Thread.Sleep(delaySeconds*1000); 
     return "Delayed for " + delaySeconds + " Seconds"; 
    } 

我們有不同的服務器,但是這個問題只出現在一臺服務器上。

注意!僅當請求花費超過40秒時纔會出現此問題。 (這個時間是不是特異性的,因爲它增加而減小每次)

+0

你檢查iis服務器日誌嗎? –

+0

網絡問題? – bradbury9

+0

@AntonNorko感謝suggeston.I添加了一個服務器代碼登錄文本文件,服務器代碼甚至2分鐘後寫日誌,但客戶端得到周圍40秒 –

回答

0

解決的問題。我發現服務器交換機被配置爲關閉更長的請求。我現在使用了服務器的內部IP(只能從我們的其他服務器訪問)。

相關問題