通知表记录的客户端更改

时间:2013-04-09 16:53:22

标签: c# asp.net sql-server-2008-r2

我有一个不使用任何ORM的项目。它是一个Webforms项目,大多数业务逻辑位于数据库端的stored procedures

以下是工作流程的工作原理:
用户转到页面 - >
选择必要的参数 - >
从存储过程中检索数据集。 - >
然后我们将该数据集存储在ViewState中以便更快地访问,这意味着在另一个用户编辑后,记录可能变得陈旧。如果我们不将这些记录存储在Viewstate中,那么应用程序的使用速度会非常慢。

问题: 什么是自动更新记录状态的最佳方法,以及正确的缓存方法是什么?如何查看记录是否是最新的?你认为SignalR可以帮助解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

无论您使用哪种缓存模型,或者哪些库,如果您的数据填充速度很慢,在尝试验证缓存的DataSet的状态时仍会遇到严重的延迟。您可以使用SignalR来管理与服务器的连接,但这仍然意味着您的用户可能会使用过时的DataSet来处理所有后果,同时确定缓存数据的“当前性”。

我和@MichaelPerrenoud在一起,并会密切关注返回DataSet的存储过程的执行计划。比较应用程序和在查询窗口中运行过程之间的执行时间 - 它可能是一个参数嗅探问题,导致使用低效的执行计划。