2012-05-15 32 views
0

我在使用C#的Windows服務中託管了WCF服務。它工作正常,我能夠從客戶端應用程序與WCF服務進行通信。爲什麼在一段時間後WCF服務託管在windows服務中死亡

但問題是,如果我離開客戶端空閒10分鐘左右,然後嘗試重新連接,我收到以下錯誤

服務器堆棧跟蹤:
在System.ServiceModel.Channels。 CommunicationObject.ThrowIfDisposedOrNotOpen()
在System.ServiceModel.Channels.ServiceChannel.Call(字符串動作, 布爾單向,ProxyOperationRuntime操作,對象[]插件, 對象[]奏,時間跨度超時)

+0

你應該向我們展示了**準確和完整**例外消息 - 不只是堆棧跟蹤..... –

回答

0

它不是windows服務關閉,它是您的客戶端代理。

你說你讓客戶閒置。你不應該這樣做。您在提出請求後應關閉客戶端。然後在需要時打開它。

0

當您的服務綁定​​設置保留其默認值(10分鐘)時,會發生這種情況。

要設置爲「永遠」,你可以在配置文件中設置:

ReceiveTimeout = "infinite" 

或代碼:

binding.ReceiveTimeout = TimeSpan.MaxValue; 
相關問題