Назад | Перейти на главную страницу

Как очистить кеш IIS без перезапуска веб-сервера?

У меня есть веб-сайт 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? Те несколько секунд, которые на это уйдут, не должны быть заметны конечным пользователям. Вы можете запланировать это на спокойный период дня, чтобы иметь наименьшее влияние.