2013-04-16 25 views
1

我有一個雙工WCF服務,我通過net.tcp連接到。當服務第一次啓動時,我可以調用它並接收回調就好了,但幾分鐘後我開始從服務中得到這個錯誤:通過net.tcp失敗的雙工WCF服務

TCP錯誤(995:I/O操作有因傳輸 數據而發生線程退出或應用程序請求時發生 )。

我已經嘗試在IIS以及Windows服務託管服務,但我在兩個中都得到相同的錯誤。在我的跟蹤日誌中,我看到在異常之前有一個SocketConnection中止警告。

這是什麼造成的?

我使用的方法來跟蹤我從here得到的服務的用戶。如果需要,我可以發佈我的配置,但如果不是,我不想混亂我的問題。

回答

1

有2個方面:

  1. 爲什麼發生異常

可能this後可以幫助(簡稱 - 在他的處境殺毒軟件負責錯誤)

  1. 什麼發生在連接和客戶端的回調 - 異常,不包含故障會「終止」連接,並且客戶端將無法重新使用它,它會收到「a中止「錯誤。

您需要在客戶端訂閱失敗的呼叫,然後重新初始化您的連接。

((IClientChannel)YourClient).Faulted += InnerChannel_Faulted; 
} 


void InnerChannel_Faulted(object sender, EventArgs e) 
{ 

    TWLogger.Write("Faulted event ... "); 
    reconnect(); 
} 

另外,我建議你換行所有服務器端的異常與錯誤