У меня есть веб-сайт IIS 6.0, который помещает данные в кеш. К сожалению, срок его действия еще не истек. Есть ли способ (утилита или команда) принудительно очистить этот кеш без перезагрузки компьютера или перезапуска веб-сервера?
Я уже безуспешно пытался перезапустить пул приложений.
Я использую iisreset из командной строки, но при этом перезапускается служба администратора IIS и все зависимые службы. Что мне не по душе.
Тем не менее, он полностью очищает весь кеш, пулы приложений и кеш .net.
Вы можете сделать это с помощью некоторого кода ASP.NET:
foreach(DictionaryEntry entry in System.Web.HttpContext.Current.Cache) {
System.Web.HttpContext.Current.Cache.Remove((string)entry.Key);
}
Могу я спросить, почему невозможен iisreset? Те несколько секунд, которые на это уйдут, не должны быть заметны конечным пользователям. Вы можете запланировать это на спокойный период дня, чтобы иметь наименьшее влияние.