我有一個WCF服務。我從WPF應用程序調用此服務。TimeoutException當服務說它很好
大部分時間這些電話都沒有問題。但很少,它們會因超時異常而失敗。
我每天會爲這項服務做大約20,000個電話。每天大約有80次會因超時異常而失敗(超時設置爲1分鐘)。
但是,如果我檢查服務的日誌,它會報告一切正常。事實上它說速度非常快(不到一秒)。
這裏是服務時間的例子:
開始時間:2016-11-11 09:40:09.170
結束時間:2016-11-11 09:40:09.270
和超時有這個時間戳:
例外:2016-11-11 09:40:52.146
(我檢查過這些時間戳的生成是同步的。)
因此,呼叫在100毫秒內完成,但在43秒後,客戶說它超時。
我很困惑。我無法在受控環境中重現此錯誤。所以我留下來看日誌中的錯誤。
任何人都知道我可以從哪裏去?爲什麼我會得到一個超時異常,當服務說它做的一切都很好?
更新:
如果它是相關的,這裏是我用來調用我的服務代碼:
try
{
myResponse = await myService.Client.MyServiceCallAsync(serviceCallContract);
}
catch (Exception exception)
{
errorMessage = HandleFaults(exception, isPreview, orderedTests);
serviceCallFailed = true;
myResponse = null;
}
myService.Client
從WSDL生成服務端類的實例。
也許在你的WCF服務太多的http套接字正在等待關閉? – Hakunamatata