2

我们正在实施 Signalr 以向浏览器客户端提供实时更新。但是我们目前陷入困境,因为我们需要让 http 服务器本身(IIS+ASP)检测来自数据库和外部服务或任何其他来源的更改而不进行轮询?我相信这应该是所有实时网站的常见问题(无论服务器端推送 SignalR、Comet 或 WebSync 使用什么技术)。请提供在这种情况下使用的一般方法是什么?

4

1 回答 1

1

如果可以,请在更新数据库的任何代码中引发事件。使用该事件触发消息发布。

Ready to update database -> Update database
                         -> Publish to WebSync

如果您无法控制更新数据库的代码,请使用SqlDependency类。它允许您定义一个 SELECT 语句,然后在该查询的结果发生变化时通知您。使用通知事件触发消息发布。

Update database -> SqlDependency -> Publish to WebSync
于 2013-10-10T16:20:25.270 回答