2015-01-25 4 views
0

У меня есть приложение ASP.NET MVC 4, которое работает на Windows 2012 R2 с машиной IIS 8.5. Существует странное поведение, которое я не могу понять. Кажется, что кеш очищается. Кэш, я имею в виду MemoryCache.Default, HttpContext.Current.Cache, а также OutputCache. Я много раз искал эту проблему и кажется, что ничего не случилось. Вы можете указать причину очистки кеша? Я имею в виду, есть ли контрольный список, который я могу проверить на сервере против него? Заранее спасибо.ASP.NET MVC Cache очищает себя

+0

Вы удалили файл в вашей папке IIS? Удаление файла в папке IIS заставляет IIS перезагрузиться –

+0

Нет, я этого не делал): –

+0

Когда кеш очищается? Всегда после такого же количества времени? – khlr

ответ

1

Эти кеши хранятся в памяти и как таковые нестабильны. Они удерживаются против процесса W3wp, который ИИ генерирует для обработки этих запросов.

После периода бездействия IIS закрывает процессы, поэтому эти кэши будут очищены.

IIS также закрывает процессы (перерабатывает приложение бассейн)

  • По умолчанию после 1746 минут (IIRC)
  • После памяти, используемой в потоке достигает заданного порога
  • кэши также изолированный по потоку, поэтому, если у вас есть веб-ферма/веб-сад, эти кеши не используются, снова IIRC

Если вам нужно сохранить эти предметы дольше, вам нужно будет посмотреть на кеширование объектов в сохраняемой области хранения, такой как управляемый сервером состояния базы данных или приложения.

+0

У меня есть веб-сад :) Большое спасибо. –

Смежные вопросы