如何在WCF服务重启后恢复WCF客户端?

时间:2013-02-20 05:03:42

标签: c# .net 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 个答案:

答案 0 :(得分:5)

您无法关闭出现故障的WCF频道 - 您必须将其中止并创建一个新频道。没有办法恢复该频道。

如果您更改以下代码:

Core.shed.Close();

为:

Core.shed.Abort();

然后你的其余代码应该可以工作。