使用轮询的方式
数据库:
在VS的命令里面输入
aspnet_regsql.exe -S (local) -U sa -P 123456 -d ERP_SQL -ed
上面这句是用来设置哪个服务器上的哪个数据库设置缓存依赖,local本地,sa登录名,123465登录密码,ERP_SQL数据库
aspnet_regsql.exe -S (local) -E -d ERP_SQL -t T_CommodityType -et
上面这句是用来设置哪张表使用依赖缓存 local本地,ERP_SQL表所在的数据库,T_CommodityType 表名
最后成功后
Web.Config
C#里面
2通知模式
启用Service Broker
ALTER DATABASE ERP_SQL SET DISABLE_BROKER(或者用右键)
在Global的Start和End里面加上SqlDependency.Start(你的连接字符串);
SqlDependency.Stop(你的连接字符串);
String connstr =
System.Configuration.ConfigurationManager.ConnectionStrings["strcodematic"].ConnectionString;
DataTable dt = HttpRuntime.Cache["dt"]as DataTable;
if (dt == null)
{
using (SqlConnection sqlCon =newSqlConnection(connstr))
{
sqlCon.Open();
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = sqlCon;
sqlCmd.CommandText = "select * from T_CommodityType";
dt = new DataTable();
SqlCacheDependency scd = new SqlCacheDependency(sqlCmd);
SqlDataAdapter sda = new SqlDataAdapter(sqlCmd);
sda.Fill(dt);
HttpRuntime.Cache.Insert("dt", dt, scd);
sqlCon.Close();
}
}
比那个轮询的模式还简单是吧。