0

所以我正在学习 SignalR,我喜欢将更改推送给多个客户端的想法。我正在构建一个简单的监控站点来学习,并希望每 10 秒左右轮询一次数据库,并将我正在查询的当前状态推送给客户端。为“集线器”对象使用计时器会导致每个客户端连接创建一个新的计时器,这意味着最终所有客户端都有自己的 10 秒计时器,并且集线器不断地向下推送更新的频率远高于每 10 秒一次。

我一直在脑海中提出不同的想法,但想确保这不是一个比我想象的更简单的问题,无论是通过 SignalR 还是为应用程序域。

4

3 回答 3

4

您是否尝试过让计时器保持静态或在集线器之外?您可以像这样回调到集线器:

dynamic clients = Hub.GetClients<MyHub>();

有关这方面的更多信息,请访问页面底部的https://github.com/SignalR/SignalR/wiki/Hubs 。

基本上,您拥有的是根据请求的 Hub,它试图处理更全球化的事情。

于 2011-11-18T21:10:02.010 回答
1

我认为这是一个很好的例子。在演示过程中,我展示了在服务器上运行的时钟,用服务器的时间更新客户端。我认为您是在说,检查服务器上的某些内容,并在更新时通知客户端。一样的想法。如果有帮助,请查看这个 GitHub 存储库,这是我保存这些演示代码的地方。

于 2011-11-18T21:05:45.490 回答
0

我在这里的博客文章可能会有所帮助。我不确定设置的最佳实践如何,因此 SignalR 人员之一可能不得不对此发表评论。但它是一个有趣的例子,与你想做的事情非常相似,我认为:

http://blogs.infragistics.com/blogs/engineering/archive/2011/11/04/using-netadvantage-jquery-chart-infragistics-motion-framework-and-signalr-to-display-live-twitter-rates。 aspx

希望这可以帮助!-格雷厄姆

于 2011-11-19T03:49:37.580 回答