2013-02-20 97 views
1

我有靜態的WCF客戶端,但我仍然不明白如何重置/恢復它?如何在WCF服務重新啓動後恢復WCF客戶端?

我嘗試之一:

if (Core.shed.State == CommunicationState.Faulted) { 
    Core.shed.Close(); 
    Core.shed = new wcfClient(); 
    } 

不行的話,我仍然得到

Cannot access a disposed object. Object name: 'System.ServiceModel.Channels.ServiceChannel'. 

我應該如何重置它時,我的WCF服務是活過來了?

+1

您無法關閉處於故障狀態的通道 - 必須中止並創建新通道。 – Tim 2013-02-20 06:11:55

回答

4

您不能關閉發生故障的WCF通道 - 必須中止它並創建一個新通道。無法恢復該頻道。

如果更改這一行代碼:

Core.shed.Close(); 

到:

Core.shed.Abort(); 

那麼你的代碼的其餘部分應該工作。