Ошибка доступа к кешу в методе Application_Start файла Global.asax

Я пытаюсь получить доступ к кешу в методе Application_Start Global.asax. Я пытаюсь использовать Context.Cache. Когда я запускаю код из Visual Studio, он работает нормально, но когда я запускаю его на сервере из IIS, я получаю: Состояние сеанса недоступно в этом контексте. Я хочу заполнить некоторые значения в кеше при запуске приложения. Как я могу получить кеш из Application_Start?


person minty    schedule 06.11.2008    source источник


Ответы (2)


Ух ты. Я нашел на это ответ. Используйте переменную HttpRuntime.Cache вместо Context.Cache.

person minty    schedule 06.11.2008

Да, это изменилось в IIS7 с переключением в интегрированный режим. Application_Start выполняется раньше, поэтому HttpContext недоступен.

Visual Studio использует Cassini, который отличается от полной версии IIS несколькими способами. Ознакомьтесь с недавно выпущенным IIS Express, который также можно использовать с Visual Studio. Это автономная версия IIS 7.5, поэтому вы не столкнетесь с проблемами в производственной среде, которых не существовало при тестировании с использованием Cassini.

person Joel Fillmore    schedule 01.06.2011