2013-08-01 3 views
1

Я кэшировал результаты внутри DataSet с использованием SqlCacheDependency.Проблема с зависимостью кеша SQL

Вызывается из простой код в загрузке страницы

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

У меня проблема.

Система уведомления SqlDependency не работала. Это было разрешено путем правильной настройки метода Global.asax Application_Start.

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

Этот link помог мне.

Смежные вопросы