2012-08-03 22 views
2

我有一個wcf服務問題。 Wcf服務方法由應用程序啓動。此應用程序經常調用服務方法(每分鐘幾十次)。正確調用服務方法(最後使用Close()或異常後使用Abort())。最奇怪的是,幾個小時後我的應用程序出現服務錯誤:工作幾小時後wcf服務方法出錯

接收到對http://domain.xx/MyService.svc的HTTP響應時發生錯誤。這可能是由於服務端點綁定不使用HTTP協議。這也可能是由於HTTP請求上下文被服務器中止(可能是由於服務關閉)。查看服務器日誌獲取更多詳細信底層連接已關閉:接收時發生意外錯誤。無法從傳輸連接讀取數據:現有連接被遠程主機強制關閉。

或這一個:

* 請求信道超時而0點15分零零秒後等待答覆。增加傳遞給請求調用的超時值或增加綁定上的SendTimeout值。分配給此操作的時間可能是超時時間的一部分。對「http://domain.xx/MyService.svc」的HTTP請求已超過分配的00:15:00超時。分配給此操作的時間可能是超時時間的一部分。該操作已超時*

什麼可以喚醒這樣的錯誤?爲什麼服務在幾個小時內就能正常工作?

+0

也許你正在調用這個方法遞歸地發佈你的代碼示例.. – MethodMan 2012-08-03 23:06:00

回答

1

我會檢查你的應用程序日誌。根據我的經驗,這些錯誤往往與代碼相關的服務器相關。 IIS可能有問題。

+0

好的調用,嘗試使用SvcTraceTool http://msdn.microsoft.com/en-us/library/ms732023.aspx來分析你的日誌 – sebagomez 2012-08-03 23:16:25

0

我知道你提到過它,但看起來你沒有正確地關閉你的頻道。另外,請確保您不要使用同一客戶端進行多次服務器調用。只需創建一個,將其用於單個調用,然後進行處理。

這是關於關閉WCF頻道的good read