2011-08-10 16 views
1

我有一個IIS託管的WCF REST 4.0服務。當我執行一個需要一個多小時才能運行的休息操作時,它永遠不會向客戶端返回響應。相反,我會在4小時後收到以下異常:WCF 4.0 REST IIS託管長時間運行1小時後沒有響應

「請求通道在等待03:59:59.9979998之後的回覆時超時。增加傳遞給調用請求的超時值或增加對應的SendTimeout值綁定分配給此操作的時間可能是更長時間的一部分「

我在客戶端和服務器上都將WebHttpBinding SendTimeout和ReceiveTimeout設置爲4小時。我還設置了asp.net httpRuntime executionTimeout =「7200」。

我知道一個事實,服務操作在大約1小時內完成大部分時間(應用程序日誌記錄)。如果碰巧完成時間超過一小時,則響應會完美返回。

回答

0

我認爲您使用請求回覆的方式來調用服務,您的客戶端等待1小時才能獲得答覆,爲什麼不使用回調操作,以便服務可以在完成時向客戶端發送回覆,客戶端不需要等待?