c# - 通信状态监听器?

标签 c# wcf events

有谁知道为代理创建监听器的方法,以便在 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/

相关文章:

c# - 将字典属性作为对象访问

c# - 处理 ResourceDictionary 中的事件

c# - C# 动态创建对象数组

jquery - 在 jquery ajax 调用 wcf 服务上从 http 移动到 https 时出错

java Swing监听器: components listening at each others

javascript - Firefox 与 IE/Chrome 中的事件处理程序

c# - 每个层次结构继承的 Entity Framework 表

asp.net - 公共(public) WCF 服务需要身份验证,尽管未指定安全性

c# - 使用 WCF、JSON 和非 Windows 客户端的换行符

来自父类的Angular2 EventEmitter