ASP中的长轮询示例.NET与WCF服务监控相结合

本文关键字:NET WCF 服务 相结合 监控 ASP | 更新日期: 2023-09-27 18:07:37

我们的系统中运行了许多Windows服务(用c#构建)。我们使用WCF与它们通信并控制它们,因为WCF提供了与这些进程非常方便的通信。

现在,在我们用于管理、监控和排除服务故障的Windows GUI中,我们只需注册回调并在服务提供消息时接收通知。显然,此应用程序是有状态的,并且WCF提供了当维护到服务的连接指示时调用本地委托的能力。

在用户实际使用的web应用程序中,我们希望使用长轮询在网页(iframe, AJAX等)上有一个状态区域,显示服务报告的任何问题。我们希望使用长轮询或其他最小化网络上实际轮询的技术。

我们遇到的问题是,我们需要一些东西来制作长轮询HTTP请求,这些请求将以某种方式始终在IIS中运行,并且它本身可以与WCF连接到我们的服务,并且可以将基于事件/委托的WCF响应转换为阻塞式的长轮询响应。这感觉就像鸡生蛋还是蛋生鸡的情况,我们系统中的某些组件总是处于循环中,轮询——而这正是我们试图避免的。

谁有这样做的例子?

ASP中的长轮询示例.NET与WCF服务监控相结合

那么,如果您的服务使用WCF,为什么不简单地使用javascript来使用WCF服务呢?然后将IIS服务器完全从等式中移除。如果用户想要查看服务正在做什么,那么他们可以直接从服务中检索信息。

这里有一个博客,有人展示了如何做到这一点:从Json中调用wcf服务