我有一个不使用任何ORM
的项目。它是一个Webforms
项目,大多数业务逻辑位于数据库端的stored procedures
。
以下是工作流程的工作原理:
用户转到页面 - >
选择必要的参数 - >
从存储过程中检索数据集。 - >
然后我们将该数据集存储在ViewState中以便更快地访问,这意味着在另一个用户编辑后,记录可能变得陈旧。如果我们不将这些记录存储在Viewstate中,那么应用程序的使用速度会非常慢。
问题:
什么是自动更新记录状态的最佳方法,以及正确的缓存方法是什么?如何查看记录是否是最新的?你认为SignalR
可以帮助解决这个问题吗?
答案 0 :(得分:1)
无论您使用哪种缓存模型,或者哪些库,如果您的数据填充速度很慢,在尝试验证缓存的DataSet的状态时仍会遇到严重的延迟。您可以使用SignalR来管理与服务器的连接,但这仍然意味着您的用户可能会使用过时的DataSet来处理所有后果,同时确定缓存数据的“当前性”。
我和@MichaelPerrenoud在一起,并会密切关注返回DataSet的存储过程的执行计划。比较应用程序和在查询窗口中运行过程之间的执行时间 - 它可能是一个参数嗅探问题,导致使用低效的执行计划。