启用数据库缓存依赖很简单,如下几步
第一步:修改web.config,让项目启用SqlCacheDependency
这里的connectionStringName指定了在<connectionStrings>中添加的某一个连接字符串。name则是为该SqlCacheDependency起的名字。
第二步:通知 数据库、表 启用缓存依赖。
(方法一)
如果要配置SqlCacheDependency,则需要以命令行的方式执行。
aspnet_regsql.exe工具位于Windows//Microsoft.NET//Framework//[版本]文件夹中。
aspnet_regsql -C "data source=127.0.0.1;initial catalog=codematic;user id=sa;password=" -ed -et -t "P_Product"
参数-C后面的字符串是连接字符串(请替换成自己所需要的值),
参数-t后面的字符串是数据表的名字。
命令执行后,在指定的数据库中会多出一个AspNet_SqlCacheTablesForChangeNotification表。
注意: 要使得7.0或者2000版本以上的SQLServer支持SqlCacheDependency特性,需要对数据库服务器执行相关的配置。 有两种方法配置SQLServer: 一 使用aspnet_regsql命令行工具, 二 使用SqlCacheDependencyAdmin类。
例如: aspnet_regsql -S "server" -E -d "database" –ed 或者 aspnet_regsql -S "server" -E -d "database" -et -t "table"
以下是该工具的命令参数说明: -? 显示该工具的帮助功能; -S 后接的参数为数据库服务器的名称或者IP地址; -U 后接的参数为数据库的登陆用户名; -P 后接的参数为数据库的登陆密码; -E 使用当前登录用户的 Windows 集成认证进行身份验证。 -d 后接参数为对哪一个数据库采用SqlCacheDependency功能; -C 连接数据库的连接字符串。如果您指定服务器(-S)和登录(-U和-P,或 -E)信息,则此选项不是必需的,因为连接字符串已经包含这些信息。 -t 后接参数为对哪一个表采用SqlCacheDependency功能; -ed 允许对数据库使用SqlCacheDependency功能; -dd 禁止对数据库采用SqlCacheDependency功能; -et 允许对数据表采用SqlCacheDependency功能; -dt 禁止对数据表采用SqlCacheDependency功能; -lt 列出当前数据库中有哪些表已经采用sqlcachedependency功能。 |
(方法2)直接在页面的Page_Load中加入注册代码如下:
运行时也会向数据库里添加一个AspNet_SqlCacheTablesForChangeNotification表
第三步:返回缓存集
完成。