[英]SQL Cache dependency issue
我正在使用SqlCacheDependency
将结果缓存在DataSet
。
在页面加载中调用了一个简单的代码
string conn= WebConfigurationManager.ConnectionStrings["NorthwindEntities"].ConnectionString;
SqlConnection con = new SqlConnection(conn);
string query = "SELECT EmployeeID, FirstName, LastName, City FROM dbo.Employees";
SqlCommand cmd = new SqlCommand(query, con);
SqlDataAdapter dadapter= new SqlDataAdapter(cmd);
数据集用法:
DataSet ds = new DataSet();
dadapter.Fill(ds, "Employees");
并将其缓存为:
SqlCacheDependency empDependency = new SqlCacheDependency(cmd);
Cache.Insert("Employees", ds, empDependency, DateTime.Now.AddMinutes(10),Cache.NoSlidingExpiration);
但是,我运行该页面,将数据加载到网格视图中,然后从SQLServer本身进行手动修改。 我重新加载页面,更改后的数据立即可见。
哪一行造成了问题,或者缺少什么?
在这里有问题。
SqlDependency通知系统未启动并正在运行。 通过正确设置Global.asax文件Application_Start
方法,可以解决此问题。
protected void Application_Start()
{
string connString =
ConfigurationManager.ConnectionStrings["ProductionSystem"].ConnectionString;
SqlDependency.Start(connString); // starting the listener service
}
此链接对我有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.