如何'订阅'一个涟漪到客户端的事件

时间:2010-08-30 13:31:11

标签: asp.net asp.net-mvc

我知道在这里有各种类似的问题,我已经看过那些被建议作为匹配的问题了。但是,没有人能够解决我所面临的问题。基本上,我想知道是否有一种方法可以“订阅”客户端级别的事件,以便从控制器中呈现一小部分页面。我知道我可以使用javascript setInterval()(与jquery ajax结合)来“轮询”控制器动作,以确定是否应该将某个“新”重新链接到页面上。但是,我不是民意调查的忠实粉丝,特别是当客户端浏览器无人看管并且无法轮询更改时。乘以可能正在浏览应用程序的潜在客户端计算机的数量,您可以通过此方法了解问题的规模。现在,实际上,这是我用来刷新现有网站的某些(“阅读” - 很多!!)上的某些页面片段的方法。

但是,我想知道选择“反向”事件并让控制器“知道”客户端浏览器及其订阅的任何事件以及控制器然后“推出”的选项是什么在“需要必须”的基础上更新客户端。这是在正常的桌面事件场景之外发生的吗?这个想法是可扩展的,还是与我目前使用的方法相反的潜在瓶颈。

希望有一些有趣的方法可以解决这个双刃剑。

2 个答案:

答案 0 :(得分:2)

服务器无法联系客户端。除了轮询之外,唯一的另一个选择是在客户端和服务器之间保持开放连接,然后服务器可以通过该流连接信息。这不比资本消耗更少。

您可以编写一个脚本来检测客户端浏览器上的操作,并在几分钟之后进入“休眠”模式,在此期间它不会轮询。

答案 1 :(得分:1)

从未尝试过,因为在我看来,保持长时间连接是一个很好的方法来消耗工作线程 1 - 但Comet似乎就是你的'正在寻找。

  1. 请注意,others已在每个连接模型的主题周围建议ways