3

有谁知道为代理创建侦听器的方法,以便在 CommunicationState 发生更改时我可以调用操作或方法?

例如,我想更新我的 WCF 服务以进行代码更改。由于应用程序处于其早期开发阶段,代码更改非常频繁。然而,与其用电子邮件来烦扰我的员工,不如告诉他们,嘿,他们需要重新启动他们的应用程序。我宁愿避免他们不得不重新启动应用程序并不得不向他们发送电子邮件。我宁愿编写一个监听器来查看服务的通信状态,如果它已更改为错误状态,则尝试重新连接。

编辑

也许这里有更多的上下文。

InstanceContext context = new InstanceContext(this);
Subscriber = new SubscriptionService.MySubscriptionServiceClient(context);
Subscriber.Subscribe("");

所以基本上我想知道订阅服务何时停止,以便我可以尝试每 60 秒左右重新连接一次。我尝试在订阅者服务中查找事件,但什么也没看到。我需要在服务端实现一些东西吗?

谢谢

4

1 回答 1

1

InnerChannel您可以使用生成的客户端类的属性上可用的故障事件。客户端类的State属性只是 的包装器InnerChannel.State,因此它应该可以按您的意愿工作。

ChannelFactory<TChannel>(作为参考,如果您在代码中创建通信通道而不是使用生成的代理,也可以使用类似命名的事件。)

于 2012-04-11T19:57:32.997 回答