0

我有一个不使用任何ORM. 这是一个Webforms项目,大部分业务逻辑都驻留在stored procedures数据库端。

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

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

4

1 回答 1

1

无论您使用什么缓存模型或库,如果您的数据填充速度很慢,您在尝试验证缓存数据集的状态时仍然会遇到明显的延迟。您可以使用 SignalR 管理与服务器的连接,但这仍然意味着您的用户可能正在使用过期的 DataSet 并在确定缓存数据的“当前性”时产生所有后果。

我和@MichaelPerrenoud 在一起,会仔细查看返回DataSet 的存储过程的执行计划。比较您的应用程序和在查询窗口中运行过程之间的执行时间 - 这可能是参数嗅探问题导致使用效率低下的执行计划。

于 2013-04-09T22:21:36.963 回答