今天试了一下缓存依赖,在WEB.config中配置了
<system.web>
<caching>
<sqlCacheDependency enabled="true" />
</caching>
</system.web>程序:
protected const string CacheKeyName = "mySQLCache";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadCache();
}
} protected void btnRefresh_Click(object sender, EventArgs e)
{
object o = Cache[CacheKeyName];
if (o == null)
{
lblMsg.Text = "缓存被手工清空";
}
else
{
lblMsg.Text = ((DataTable)o).Rows [0][0].ToString ();
}
} protected void LoadCache()
{
SqlConnection conn = new SqlConnection(@"server=DAISHENGS-PC\SQLEXPRESS;Initial Catalog=CacheTest;User ID=CacheTest;Password=CacheTest");
SqlCommand cmd = new SqlCommand("SELECT ColName FROM TestTable WHERE ID='2'", conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable data = new DataTable();
adapter.Fill(data); SqlCacheDependency dep = new SqlCacheDependency(cmd);
Cache.Insert(CacheKeyName, data, dep);
}更改表TestTable 中的数据(ID='2')后,缓存不会失效,想问问大家这有可能是啥原因?SQLServer2005数据库
(SQLServer2000数据库执行aspnet_regsql后,可以正常使用缓存依赖 )
<system.web>
<caching>
<sqlCacheDependency enabled="true" />
</caching>
</system.web>程序:
protected const string CacheKeyName = "mySQLCache";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadCache();
}
} protected void btnRefresh_Click(object sender, EventArgs e)
{
object o = Cache[CacheKeyName];
if (o == null)
{
lblMsg.Text = "缓存被手工清空";
}
else
{
lblMsg.Text = ((DataTable)o).Rows [0][0].ToString ();
}
} protected void LoadCache()
{
SqlConnection conn = new SqlConnection(@"server=DAISHENGS-PC\SQLEXPRESS;Initial Catalog=CacheTest;User ID=CacheTest;Password=CacheTest");
SqlCommand cmd = new SqlCommand("SELECT ColName FROM TestTable WHERE ID='2'", conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable data = new DataTable();
adapter.Fill(data); SqlCacheDependency dep = new SqlCacheDependency(cmd);
Cache.Insert(CacheKeyName, data, dep);
}更改表TestTable 中的数据(ID='2')后,缓存不会失效,想问问大家这有可能是啥原因?SQLServer2005数据库
(SQLServer2000数据库执行aspnet_regsql后,可以正常使用缓存依赖 )
Cache.Insert(CacheKeyName, data, dep);