Sql缓存依赖--数据库缓存
CacheDependency cDep = new CacheDependency(filePath);
一:轮询机制
1.在数据库新建版本表。2.在数据库新建触发器(比如在新闻表上新建)。
3.使用C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727中的aspnet_regsql.exe:
注册:aspnet_regsql -S . -E -ed -d 数据库名 -et -t 版本表名
删除:aspnet_regsql -S . -E -d 数据库名 -dt -t 版本表名
取消数据库缓存依赖: aspnet_regsql -S . -E -dd 数据库名
数据库名 列出已注册表:aspnet_regsql -S . -E -d 数据库名 –lt
4.配置web.config(见备注)
5.数据库依赖对象
SqlCacheDependency cDep =
new SqlCacheDependency("GSSMS", "CacheDep");
参考步骤:
1.依赖于文件System.Web.Caching.CacheDependency cDep = new System.Web.Caching.CacheDependency(filePath);
Cache.Add("fmsg", msg, cDep, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.Normal, RemovedCallback);
aspnet_regsql -S . -E(集成登陆)/-U sa -P 123 -ed(启动/-dd关闭) -d(数据库名) GSSMS -et(指定缓存依赖的表名/-dt禁用表名) -t(表名) Aticle
2.依赖于数据库的web.config配置
<system.web>
<caching>
<sqlCacheDependency enabled="true">
<databases>
<add name="GSSMS" connectionStringName="conStr2" pollTime="15000"/>
</databases>
</sqlCacheDependency>
</caching>
pollTime:表示隔多少毫秒轮询一次