我们可以使用轮询来查找来自某些来源的更新,例如连接到网络服务器的客户端。WCF 以 Duplex 契约的方式提供了一个很棒的功能,在这种功能中,我可以维护与客户端的连接,并随意对该连接进行调用。办公室里的一些人正在讨论这两种解决方案的优点,我想获得有关何时最好使用每种策略的反馈。

有帮助吗?

解决方案

我会使用基于事件的机制,而不是轮询的。在WCF,您可以按照发布 - 订阅框架,朱瓦尔·洛提供了在他的网站很容易地做到这一点,的 IDesign.net

其他提示

一定程度上取决于你有多少用户。

假设你有百万用户,你将有问题的维护,很多会话。

但是,如果您的系统可以以1000响应轮询请求第二然后每个客户端可以轮询每1000秒。

我认为设拉子(Shiraz)做到了这一点,但我还想说两件事。

  1. 我在双工合同方面遇到了麻烦。关于回调频道,您必须连续将所有的鸭子列入...你必须 检查它以确保它是打开的, 等。IDesign.net 的东西是 最低限度的管道代码 你必须包括。
  2. 如果它对你的解决方案有意义 (这仅适用于某些 情况),MSMQ 绑定允许 用于向服务发送数据的客户端 以异步方式(如双工), 但该服务不是“轮询” 消息。。。当出现以下情况时,它会收到通知 一个人通过一些进入队列 盖下管道。

    这迫使你把 围绕(客户端成为 服务器,服务器成为客户端),但 如果大部分通信 是单向的,这将提供很多 的好处。另一个优点 这里显然是排队的 通信 - 服务器可以是 下来,不要错过任何消息......当它回来时,它会捡起他们 在线。

值得思考的事情。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top