2017-01-30 4 views
0

В приложении ASP.NET или приложение MVC элементы кэша, которые используют System.Web.Caching, становятся ясными в перезапуске пула приложений. Но что произойдет, если кеширование было достигнуто с использованием System.Runtime.Caching?System.Web.Caching & System.Runtime.Caching от пула приложений IIS перезапускается

ответ

3

Но что произойдет, если кеширование было достигнуто с использованием System.Runtime.Caching?

Если вы используете реализацию по умолчанию MemoryCache, то точно так же произойдет, потому что элементы будут сохранены в памяти AppDomain. Если вы хотите, чтобы ваши элементы кэша выдержали перезапуск пула приложений, вам может потребоваться использовать распределенную систему кеширования, такую ​​как Redis или Memcached. Используя распределенную систему кэширования, все узлы вашего веб-кластера будут иметь доступ к этим элементам кэша и могут воспользоваться ими.

+0

Большое спасибо !!! Я думал, что System.runtime.cache сохраняет его отдельно от appdomain. Есть ли способ поделиться пунктом MemoryCache между приложением MVC и ** приложением Windows **? –

+0

Нет, нет способа разделить MemoryCache между AppDomains. Он не предназначен для этой цели. Вам понадобится распределенный кеш, который можно использовать совместно. –

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