在.Net应用程序中实现长轮询的好策略是什么?
这是否意味着使用基于JS setInterval()的方法来不断轮询服务器以获取可以在页面上呈现的更新。我一直认为,当涉及到可伸缩性时,这可能是一个挑战,因为它似乎会对web服务器产生许多额外的请求。我读到过,这种类型的功能应该使用非阻塞web服务器(单线程) NODE.js等来实现。因为只有一个线程/事件循环,所以看起来请求必须非常轻量级才能及时处理多个请求。Node.Js可以触发db调用吗?
我见过一个在线约会网站,当你当前登录到系统时,当有人访问你的个人资料时,你会收到一个淡入/淡出弹出的通知。我印象深刻的是,这样的东西可以很好地工作在一个高容量的网站上。
假设这种类型的通知系统是使用长轮询实现的,这合理吗?基于通过JS的持续轮询?
我在SO网站上也看到了类似的幕后更新(消息/投票等),这也使用了类似的策略吗?
发布于 2012-03-31 16:07:21
实时web应用程序已经伴随我们很长一段时间了:轮询的历史从setInterval Technique到HTML5 WebSockets。
在这里,您可以找到简单的JavaScript长轮询示例。
http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery
发布于 2012-03-31 14:23:34
SignalR和pokein是两个不错的选择。
scott hanselman的一篇博客文章解释了如何使用SignalR http://www.hanselman.com/blog/AsynchronousScalableWebApplicationsWithRealtimePersistentLongrunningConnectionsWithSignalR.aspx
https://stackoverflow.com/questions/9953465
复制相似问题