Проблема с использованием класса System.Web.Caching.Cache в ASP.NET
Поэтому я работаю над проектом, который использует ASP.NET. Я пытаюсь вызвать Cache["ключ"], но компилятор жалуется на то, что System.Web.Caching.Cache "nat valid на данный момент".
Если я вызываю Cache obj = new Cache(); объект всегда нулевой.
Я могу получить доступ к HttpContext.Current.Cache - но это не позволяет мне указать абсолютное истечение и скользящее истечение в методе Insert().
Кто-нибудь может мне помочь?
2 ответа
Вы должны быть в состоянии абсолютного или скользящего истечения, вызывая вставку в HttpRuntime.Cache. Имеет несколько перегрузок. Пример:
HttpRuntime.Cache.Insert("EXAMPLE_KEY",
exampleItem,
Nothing,
DateTime.Now.AddHours(1),
System.Web.Caching.Cache.NoSlidingExpiration);
Точно такой же код должен также работать с HttpContext.Current.Cache.
Я предлагаю вам попробовать класс PCache под библиотекой PokeIn. Даже если вы используете БЕСПЛАТНУЮ версию этой библиотеки, в этом классе нет ограничений. Он имеет гораздо больше функциональных возможностей по сравнению с классом ASP.NET Cache, и вам не придется сталкиваться с этими проблемами. На сайте доступен простой пример проекта.