Asp.Net利用SqlCacheDependency实现缓存机制

文/AndersLiu  出处/博客园

今天要说的是在缓存时使用SqlCacheDependency。其应用场景是IP地址屏蔽,数据库里有一张表IPBlocked,记录了被屏蔽的IP。由于每次进行注册或尝试登录时都要检查IP,而IP屏蔽表又不会经常变化,所以需要使用缓存。并且该缓存依赖该数据表,即如果表中数据发生了变化,缓存应该失效。

好困啊,不多扯了,我这里就给出操作步骤。

1. 修改web.config,启用SqlCacheDependency。将下列代码加入web.config的<system.web>节:

Code


这里的connectionStringName指定了在<connectionStrings>中添加的某一个连接字符串。name则是为该SqlCacheDependency起的名字,这个名字将在第3步中用到。

2. 执行下述命令,为数据库启用缓存依赖:

C:\Program Files\Microsoft Visual Studio 9.0\VC>aspnet_regsql -C "Data Source=.;Initial Catalog=regex-lib;Integrated Security=True" -ed -et -t "IPBlocked"这里-C后面的字符串是连接字符串(请替换成自己所需要的值),-t参数后面的字符串是数据表的名字。命令执行后,数据库中会多出一个AspNet_SqlCacheTablesForChangeNotification表。

3. 在代码中使用缓存,并为其设置SqlCacheDependency依赖:

Code


创建SqlCacheDependency时需要指定web.config中定义的SqlCacheDependency名字,并指定数据表的名称。

好了,这只是一个步骤列表,或者可以当作一个checklist用。

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [Asp.Net] 的这些文章也感兴趣:

System.Web.Routing入门及进阶 下篇
Asp.Net项目安装和Oracle(8i)配置
Web Control 开发系列(三) 解析IPostBackEventHandler和WebForm的事件机制
.NET之ASPWebApplication快速入门(1)
针对ASP.NET页面实时进行GZIP压缩优化的几款压缩模块的使用简介及应用测试
改善ASP.NET2.0性能的五件法宝
利用UrlRewrite,asp.net动态生成htm页面
Web Control 开发系列(四) Validation机制
heycacher 缓存组件的特性及下载
ASP.NET 控件制作之解决 DropDownList 成员 Value 值相同产生的问题