C# 依赖缓存

使用轮询的方式

数据库

在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();
}
}

比那个轮询的模式还简单是吧。

原文地址:https://www.cnblogs.com/lijin/p/3532646.html