【问题标题】:WCF Client Channel Watchdog (Monitoring)WCF 客户端通道看门狗(监控)
【发布时间】:2023-03-29 21:38:01
【问题描述】:

在当前项目中,我们有许多实现不同接口的不同 WCF 服务。因为一切都是一个重度管理的环境,所以我们需要为每个 WCF 服务设置某种看门狗实例来检查可用性,以便在调用某个服务之前告诉我们的管理系统某个服务可用。

在谷歌上搜索了几个小时后,我知道如何实现这一点的唯一方法是在服务合同中实现某种 ping 方法,该方法在线程中定期调用以查找服务的状态。但是有许多不同的服务(其中一些是不实现某种“Ping()”方法的黑盒子),我们不想为每个接口都实现 Ping() 过程。我们已经考虑为我们的所有合约实现一个管理基础接口,但毕竟,仍然有一些 Web 服务我们无法更改任何内容,因为它们不是我们的。

有没有可能做到这一点?是否有某种服务/客户端通道看门狗可以自动保持活动消息/ping 并报告连接问题或其他事件?

【问题讨论】:

    标签: c# .net wcf web-services exception


    【解决方案1】:

    评论太长了...

    您是否检查了ServiceMon 并检查了它的可扩展性?...查看WCF service health monitoring 或者只是可以使用 HTTPGet 查询每个服务并检查其响应中的内容是否暗示它正在运行?

    【讨论】:

    • 这是否也适用于具有 NetTcp 绑定的服务?
    • 未测试,但我不明白为什么不测试,因为您正在从启用 WCF 的客户端消费,并且所有服务都提供 http 响应。
    • 无意冒犯,但评论允许 600 个字符,不是吗?
    • 确实,这很奇怪,我一定是在我的帖子中犯了一个错误,但我之前发表评论时肯定得到了太长的错误响应......嗯
    【解决方案2】:

    一个简单的方法是 ping wsdl。 如果网络服务关闭,您在尝试获取和获取该信息时会收到错误消息。

    WCF 服务只不过是一个网站(一个特殊的网站,但毕竟是一个网站),所以任何网站监控工具都可以胜任。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多