环境说明:SQL server 2005 + VS2010 + .Net 4.0
使用SqlCacheDependency类的操作流程分为5步:
第一步:创建数据库;
创建数据库sharpdemo和表Login,字段及说明如下:
字段名 字段类型 说明
id int 自增长数据标识
uid nvarchar(20) 用户
pwd nvarchar(50) 密码
第二步:使用aspnet_regsql启动缓存数据库和缓存数据库表;
执行“开始”|“所有程序”|“Microsoft Visual Studio 2010”|“Visual Studio Tools”|“Visual Studio 2010命名提示”菜单命令,切换到目录C:\Windows\Microsoft.NET\Framework\v4.0.30319下,分别执行以下两条cmd命令:
1、aspnet_regsql -S BANG-PC\SQLEXPRESS -E -d sharpdemo -ed
2、aspnet_regsql -S BANG-PC\SQLEXPRESS -E -d sharpdemo -t Login -et
第三步:配置应用程序的配置文件web.config;
创建web应用程序,在配置文件web.config中分别配置以下两个地方:
1、connectionStrings节点内添加数据库连接字符串
<connectionStrings>
<add name="connCacheStrings" connectionString="server=BANG-PC\SQLEXPRESS;database=sharpdemo;uid=sa;pwd=sasa;" providerName="System.Data.SqlClient"/>
</connectionStrings>
2、system.web节点内添加缓存信息
<system.web>
……
<caching>
<sqlCacheDependency enabled="true" pollTime="1000">
<databases>
<add name="sharpdemo" connectionStringName="connCacheStrings" pollTime="1000"/>
</databases>
</sqlCacheDependency>
</caching>
</system.web>
第四步:为数据控件配置数据源;
在aspx页面中添加一个GridView和Literal空间,为GridView空间配置数据库连接字符串connCacheStrings,在page_load方法中添加代码Literal1.text = DateTime.Now.ToString()
第五步:在前台页面添加数据库缓存依赖;
在aspx页面<%@ page……代码下添加如下代码
<%@ OutputCache Duration="5" SqlDependency="sharpdemo:Login" VaryByParam="none" %>
小结:当数据库表缓存依赖对象SqlCacheDependency发生变化时,Cache缓存中的数据即失效,通知应用程序获取数据库中最新的数据,重新从数据库中获取最新的数据添加到缓存Cache中。