将表记录更改通知客户端

本文关键字:通知 客户端 记录 | 更新日期: 2023-09-27 18:08:11

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

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

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

将表记录更改通知客户端

无论您使用什么缓存模型或什么库,如果您的数据填充缓慢,您在尝试验证缓存数据集的状态时仍然会遇到明显的延迟。你可以使用SignalR来管理与服务器的连接,但这仍然意味着你的用户可能正在处理一个过时的数据集,而缓存数据的"当前状态"是确定的。

我同意@MichaelPerrenoud的观点,并将密切关注返回数据集的存储过程的执行计划。比较应用程序的执行时间和在查询窗口中运行过程的执行时间——这可能是一个参数嗅探问题,导致低效的执行计划被利用。