轮询数据库更改:OracleDependency,SignalR还是太多了?

时间:2013-01-14 20:36:52

标签: .net signalr long-polling polling ajax-polling

我想我正在寻找最佳实践,但我已经阅读了有关各种方法的相互矛盾的信息。我正在尝试整理一个网页示例,其中包含一个信息网格,可以准确显示数据库中的内容。该表可以通过表单从网页更新,但也可以从其他各种来源更新。

如何提醒用户注意更新?这是我到目前为止所经历的:

  1. SignalR可用于让用户“订阅”网格上的更新。这适用于从表单到数据库的插入/更新以提醒用户。但是来自其他非.NET来源的实际数据呢?

  2. OracleDependency:更新数据库时,回调会遇到.NET。我已经读过这个在不断更新的表上使用并不好。这是为什么?这是一个可行的选择,可以挂钩到SignalR并提醒群组中的用户吗?

  3. 基本民意调查:我是否过度思考?我应该简单地在每个客户端上轮询数据库,获取更改,并通过AJAX插入表中吗?

1 个答案:

答案 0 :(得分:0)

我会选择" longrunning" -controller轮询数据源。这样,您只需要一个点轮询数据源......然后当数据发生变化时,您可以告诉客户订阅。

我不确定signalR是否有长时间运行的控制器,但你可以搞清楚。或者使用支持此功能的XSockets.NET ..

无论您选择什么,我强烈建议您不要从每个客户进行投票。

此致 Uffe