我需要在我的Web应用程序中添加一个“实时”元素.基本上,我需要检测存储在sql Server表中的“更改”,并在发生更改时更新UI的各个部分.
我正在通过轮询进行此操作.我每3秒向服务器发送一个ajax请求,要求进行任何新的更改 – 然后返回和处理.它有效,但我不喜欢它 – 这意味着对于每个浏览器,我将经常发出这些请求,并且服务器将永远处于处理状态.简而言之,它不能很好地扩展.@H_403_3@
有没有什么聪明的选择,避免轮询开销?@H_403_3@
编辑@H_403_3@
为了完整性,我正在更新这个提及我们最终与SignalR的解决方案.它是操作系统,来自微软.它越来越受欢迎,我可以衷心地推荐这个,或者我们也看过的WebSync.@H_403_3@
解决方法
查看
WebSync,专为ASP.NET / IIS设计的彗星服务器.
特别地,我将使用SQL Dependency类,当您检测到更改时,请使用RequestHandler.Publish(“/channel”,data);将信息发送到适当的侦听客户端.@H_403_3@
应该很好地工作@H_403_3@