SQL Cache依赖问题

时间:2013-08-01 11:55:18

标签: asp.net .net

我使用DataSetSqlCacheDependency内缓存结果。

在页面加载中调出一个简单的代码

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用法:

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本身手动修改。我重新加载页面,并且可以立即看到更改的数据。

哪条线路正在创建问题或是否有任何遗漏?

1 个答案:

答案 0 :(得分:1)

这里有问题。

SqlDependency通知系统未启动并正在运行。通过正确设置Global.asax文件Application_Start方法解决了这个问题。

protected void Application_Start()
 {
    string connString =   
    ConfigurationManager.ConnectionStrings["ProductionSystem"].ConnectionString;
    SqlDependency.Start(connString); // starting the listener service 
}

link帮助了我。