asp.net – 如何使用SqlDependency使OutputCache依赖于每个请求的数据库中的行?
|
我有个问题.无法找到如何使OutputCache SQLDependency依赖于数据库表中的一行.
ActionResult Index(int? id) 对于具有相同id的每个请求,我需要检查数据库表table1(id int,last_updated datetime).如果具有id = id和last_updated的行未更改. 我使用sql server 2005或更高版本. 我应该使用哪种策略? 我试过用: [OutputCache(Duration = int.MaxValue,VaryByParam = "id",SqlDependency = "DatabaseName:table1")] 但它适用于整个表格的更改. 解决方法为避免针对每个网页请求(通常是昂贵的操作)访问数据库,可以使用对象缓存(在.NET 4.0中引入).这将导致快速提供网页,因为所有内容都将直接从内存中处理.仅当数据实际更改时,或者由于资源限制或CacheItemPolicy设置而导致缓存从内存中逐出时,才会发生数据库操作.在这种情况下使用的实用策略如下. 步骤1.在您的Model方法中,正在修改/添加/删除“id”行的数据,完成该数据库操作,然后: >如果您的对象已存在于缓存中,则将其逐出; 第2步.尽可能从缓存中检索对象,仅在必要时从db刷新: >从Controller操作方法中,调用Model方法,该方法返回由“id”参数标识的对象; (MemoryCache类是ObjectCache类的具体实现). 使用这种方法,根本不需要使用Controller方法上的OutputCache,并且数据缓存决策都将完全封装在Model中.我们会更清楚地分离关注点;更高的效率,更好的响应时间和更高的可扩展性;并减少对昂贵的数据库操作的依赖. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 错误:此程序集是由运行时比当前加载的运行时更
- asp.net-mvc – ASP.Net MVC捆绑和分类
- asp.net-mvc – 在每个网址的末尾添加尾部斜杠?
- 如何在ASP.NET MVC中保留/保护Edit中的某些字段
- Asp.net实现MVC处理文件的上传下载功能实例教程
- asp.net-core – 在Visual Studio CTP2中的ASP.VNext项目中
- ASP.NET MVC和SQL Server报告服务
- asp.net-mvc – Asp.Net MVC 2 Html.TextBoxFor为模型的Dat
- asp.net-mvc-2 – 在调用EditorFor(…)时隐藏公共属性的编辑
- asp.net中的ASHX处理程序文件的好处是什么?
- asp-classic – 浏览器似乎忽略了响应缓存控制指
- ASP.NET 5中的全局异常处理
- asp.net – 带LinqDataSource的DropDownList和一
- asp.net – 在日历上设置最小和最大日期?
- asp.net-mvc – ErrorAttribute vs OnException与
- 强制ASP.NET GridView的寻呼机显示
- ASP.NET MVC中的单元测试比Web窗体更好?
- asp.net-mvc – 在ASP.NET MVC中的View和Partial
- asp.net-mvc-3 – 如何修复此MVC网站错误:无法加
- asp.net-web-api2 – 如何在WebAPI中使用Swagger
