有谁知道为代理创建监听器的方法,以便在 CommunicationState 更改时我可以调用操作或方法?
例如,我想更新我的 WCF 服务以进行代码更改。由于该应用程序处于其早期开发阶段,代码更改非常频繁。但是,与其用电子邮件烦扰我的员工,不如告诉他们嘿,他们需要重新启动他们的应用程序。我宁愿避免他们不得不重新启动应用程序并不得不向他们发送电子邮件。我宁愿编写一个监听器来查看服务的通信状态,如果它已更改为故障状态,则尝试重新连接。
编辑
也许这里有更多上下文。
InstanceContext context = new InstanceContext(this);
Subscriber = new SubscriptionService.MySubscriptionServiceClient(context);
Subscriber.Subscribe("");
所以基本上我想知道订阅服务何时停止,以便我可以每 60 秒左右尝试重新连接一次。我尝试在订阅者服务中查找事件,但没有看到任何内容。我需要在服务端实现一些东西吗?
谢谢
最佳答案
您可以使用 InnerChannel
上可用的故障事件您生成的客户端类的属性。 State
客户端类的属性只是 InnerChannel.State
的包装器,所以这应该可以如您所愿。
(作为引用,如果您在代码中创建通信 channel 而不是使用生成的代理,您也可以在 ChannelFactory<TChannel>
上使用类似命名的事件。)
关于c# - 通信状态监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10112518/