Я создаю веб-приложение, и у меня возникла проблема с кэшированием.
В моем приложении содержится большой объем данных, которые я хочу использовать, а не вызывать их из базы данных SQL каждый раз, когда мне нужна информация.
Я пытался использовать кэширование следующим образом:
public static List<DAL.EntityClasses.AccountsEntity> Accounts
{
get
{
if (HttpContext.Current.Cache["Account"] == null)
{
HttpContext.Current.Cache.Insert("Account", LoadAccounts(), null, DateTime.Now.AddHours(4), System.Web.Caching.Cache.NoSlidingExpiration);
}
return (List<DAL.EntityClasses.AccountsEntity>)HttpContext.Current.Cache["Account"];
}
}
Проблема заключается в том, что при добавлении элементов в кэш появляются элементы, которые я уже кэшировалудалено.
Таким образом, большинство вызовов вызывают БД для получения данных для кэша.
Где я ошибся?
Спасибо