asp.net-mvc - 实时 ASP.NET MVC Web 应用程序

标签 asp.net-mvc real-time

我需要向我的 Web 应用程序添加一个“实时”元素。基本上,我需要检测存储在 SQL Server 表中的“更改”,并在发生更改时更新 UI 的各个部分。

我目前正在通过投票来做到这一点。我每 3 秒向服务器发送一个 ajax 请求,要求进行任何新更改 - 然后返回并处理这些更改。它有效,但我不喜欢它 - 这意味着对于每个浏览器,我将经常发出这些请求,而服务器将始终忙于处理它们。简而言之,它不能很好地扩展。

是否有任何巧妙的替代方法可以避免轮询开销?

编辑

为了完整起见,我正在更新它以提及我们最终采用的解决方案 - SignalR .它是操作系统,来自微软。它越来越受欢迎,我可以衷心推荐这个,或者我们也看过的 WebSync。

最佳答案

退房 WebSync ,为 ASP.NET/IIS 设计的 Comet 服务器。

特别是,我会做的是使用 SQL Dependency类,当您检测到更改时,请使用 RequestHandler.Publish("/channel", data);将信息发送给适当的收听客户。

应该工作得很好。

关于asp.net-mvc - 实时 ASP.NET MVC Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5167821/

相关文章:

asp.net - 在 ActionLink 内添加 div

javascript - asp.net MVC中通过ajax请求下载文件

erlang - ejabberd 如何处理消息排序和传递?

c# - 数据类型 mvc 为空

c# - MVC 3 - 如何在异步 WCF 调用后立即 RedirectToAction

asp.net-mvc - HtmlHelper NameFor 方法

python - 实时艺术项目---输入: sound --- output: image (better title?)

php - 如何像facebook ticker、meetup.com主页那样显示连续的实时更新呢?

java - php 可以监听 mysql 数据库的更改或更新吗? ...实时思考,实时搜索

embedded - 为什么加速处理器会导致实时系统错过最后期限?