【问题标题】:WCF service reports long running job progress in real timeWCF 服务实时报告长时间运行的作业进度
【发布时间】:2014-06-09 04:00:09
【问题描述】:

我正在开发一个可靠的 WCF 服务,它应该可以进行一些长期运行的工作,并且能够报告此类工作进度。为处理服务传递任务使用 MSMQ 绑定,这提供了可靠性。我认为,为了报告进度,它应该使用另一个 TCP/HTTP 绑定,该绑定更适合实时向订阅客户端发送百分比。

这样对吗?有没有正确的示例?

编辑


我找到了这个article,但它告诉我们一个定期的客户请求百分比?我的目标是服务器实时告诉所有订阅的客户进度。

【问题讨论】:

    标签: c# .net wcf message-queue msmq


    【解决方案1】:

    您有两个主要的 MS 选项:

    【讨论】:

    • WCF双工合约是要求客户端定期请求获取进度还是服务器实时向客户端发送进度?
    • 不,客户端在 http://+:80/Temporary_Listen_Addresses/ 上创建一个监听器。这就是 WCF 双工合同仅限于 LAN 的原因。
    • SignalR 协商协议并在其他技术(如网络套接字)不可用时使用长轮询。
    • 我以前用过 SignalR。但是如何使用 SignalR 设置构建?
    • @kseen SignalR 在 MSDN 上有很好的文档。如果您对 SignalR 有特定问题,我认为您应该提出一个新问题。
    【解决方案2】:

    您研究过 Pub/Sub 模式吗?发布者(您的服务)可以发布更新,订阅者可以收听这些更新。

    这里有一个blogcode project 可以帮助您入门...

    【讨论】:

      【解决方案3】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-29
      • 2014-03-27
      • 1970-01-01
      • 2011-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多