【问题标题】:Most Efficient Way to Create a DB Callback in ASP.NET MVC在 ASP.NET MVC 中创建数据库回调的最有效方法
【发布时间】:2011-04-15 03:57:19
【问题描述】:

我有一个 ASP.NET MVC 网页,它基本上通过日期过滤器显示 MS SQL 数据库中的表行。 我想在向数据库表中插入新行时使用新行列表更新网页视图。

实现这一目标的最有效方法是什么?基本上,我想要的是从我的 javascript 创建一个对数据库服务器的回调,以使用新结果更新 UI。

假设数据库表中的行数很大。(~100 万)

谢谢, cas

【问题讨论】:

  • 正确的解决方案(推送与轮询)取决于向表中添加行的频率。
  • 行添加如此频繁,假设每隔一秒。

标签: c# javascript asp.net sql asp.net-mvc


【解决方案1】:

如果数据库更新非常频繁,那么您可以继续以特定间隔方法进行轮询。否则,您可以考虑将缓存与缓存 SQL 依赖项一起使用,这将使您能够在后端发生更改时使缓存失效。

由于您提到大约有一百万条记录,我假设您会考虑通过查询优化/索引等来提高性能。

【讨论】:

    【解决方案2】:

    最简单的方法是通过轮询。

    按特定时间间隔投票。

    假设您使用的是 int 主键,请通过 javascript 将最后一行的主键传递给操作方法。

    让操作方法选择 where id > lastrow(又名新行)。

    将新行作为 json 从控制器传回,并使用客户端 javascript 呈现它们。更新“最后一行主键”值以供将来轮询。

    【讨论】:

      【解决方案3】:

      您可以使用支持双向通信的Websockets。你可以使用SuperWebSocket,一个.NET websocket 服务器。

      【讨论】:

      • 谢谢,我会试试那个库,但它似乎比解决问题更令人头疼。
      猜你喜欢
      • 2017-10-30
      • 2010-10-19
      • 2020-06-29
      • 1970-01-01
      • 2011-03-06
      • 2014-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多