【问题标题】:What is a better way to send data updates out to clients in .net?在 .net 中向客户端发送数据更新的更好方法是什么?
【发布时间】:2011-12-21 03:31:41
【问题描述】:

当用户更新我们的 .net 应用程序中的某些数据时,我们的服务器会将更新发送给感兴趣的客户,告诉他们这些数据已经更新。目前,每个客户端也是一个服务器(即,它们侦听端口)服务器跟踪哪些客户端已登录并通过远程处理向它们发送更新消息。

这很有效,但存在潜在问题,因为必须将防火墙配置为允许访问客户端 PC。

我认为有几种方法可以解决这个问题,但每种方法都有其缺点。我目前正在研究 wcf 或 msmq 之类的排队系统,但是我对这些没有任何经验,而且学习曲线似乎很陡峭。我想到的其他选择是:

  • 让客户端调用服务器方法,该方法在收到消息之前不会返回 - 超时、断开连接等潜在问题?
  • 更改为 WCF 并使用回调 - 不确定这是否需要客户端作为端点?
  • 使用计时器并每隔几秒检查一次消息 - 可能会淹没网络

还有其他方法可以实现吗?我认为这是一个可能已经解决的问题,因此希望实施将是简单的。理想情况下,任何连接的客户端都不应错过消息,这可用于其他类型的更新 - 例如。服务器作业的进度更新等。

【问题讨论】:

  • (我不确定这是否可以被视为编程问题。)我建议您认真考虑 WCF,因为学习曲线可能没有您担心的那么糟糕。那里有很多教程,您可以很快上手并运行。 IICDIAC!

标签: .net wcf communication remoting message-queue


【解决方案1】:

你可能想看看ClickOnce

这里有一篇关于选择 ClickOnce 更新策略的文章:http://msdn.microsoft.com/en-us/library/s22azw1e.aspx

【讨论】:

  • 问题似乎是关于更新数据,而不是客户端应用程序本身
  • 我的错,错过了那里的关键词
【解决方案2】:

如果客户端间歇性连接,但仍需要接收更新消息,则 MSMQ 非常简单。

【讨论】:

    【解决方案3】:

    WCF 和回调在这个场景中运行良好。请参阅此相同问题的答案:WCF - client callback recommended? WCF 在传输和连接配置(超时等)方面相当灵活。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多