Проблема с использованием класса 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, и вам не придется сталкиваться с этими проблемами. На сайте доступен простой пример проекта.

Другие вопросы по тегам