В настоящее время я использую приведенный ниже код для обновления кэша каждый день в полночь. Это прекрасно работает, но требования изменятся так, что мне нужно будет обновить кеш при изменении элемента в наборе данных. Я понимаю, что существует класс CacheDependency для проверки, изменился ли файл, чтобы обновить кэш, но я не понимаю, как это относится к тому, что я пытаюсь сделать. Может ли кто-нибудь помочь направить меня в правильном направлении для обновления кэша при изменении набора данных? Спасибо.
try
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["localDb"].ConnectionString);
DataSet ds = new DataSet();
if (Cache["ds"] == null)
{
conn.Open();
SqlCommand sqlComm = new SqlCommand("SELECT EmployeeID, NationalIDNumber, ContactID, LoginID, ManagerID, Title, BirthDate, MaritalStatus, Gender FROM HumanResources.Employee", conn);
SqlDataAdapter adapter = new SqlDataAdapter(sqlComm);
adapter.Fill(ds);
Cache.Insert("ds", ds, null, DateTime.Today.AddDays(1), TimeSpan.Zero);
conn.Close();
}
GridViewEmployees.DataSource = (DataSet)Cache["ds"];
GridViewEmployees.DataBind();
}
catch (Exception)
{
throw;
}