Как заставить IIS 7 не кешировать изображения на определенной странице?
Я не думаю, что веб-сервер IIS является единственной кэширующей страницей - это клиентский браузер.
Вы можете добавить метатег к страницам, которые не должны кэшироваться на стороне клиента, и есть способы сделать это для разных старых браузеров и тому подобного.
Если вы пишете в ASP и хотите получить тот же эффект без кеширования, вот информация заголовка.
<% Response.CacheControl = "no-cache" %>>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
То, что вы ищете, - это значение заголовка cache-control (обратите внимание, что это работает только для браузеров, которые уважают http 1.1)
Для asp код:
<% @Language="VBScript" %>
<% Response.CacheControl = "no-cache" %>
Вы также можете установить это непосредственно в папке с помощью метабазы:
Вот как можно установить пиксель папки на веб-сайте по умолчанию: Откройте командную строку и перейдите в папку C: \ InetPub \ AdminScripts. Выполните следующую команду: CSCRIPT ADSUTIL.VBS SET W3SVC / 1 / ROOT / pix / CacheControlCustom "no-cache"
Обратите внимание на возможные значения: «no-cache», «Public», «Private».
Вы также можете установить это через ADSI:
Option Explicit
Dim objCache
Set objCache = GetObject("IIS://localhost/w3svc/1/root/pix")
objCache.CacheControlCustom = "no-cache"
objCache.SetInfo
Пока эти подходы будут работать в IIS6 и IIS7, если у вас установлены инструменты администрирования IIS6. Для чистой среды IIS7 вот команды appcmd:
Сначала разблокируйте раздел конфигурации
appcmd unlock config /section:staticContent
Теперь вы можете изменить параметры кеширования статического содержимого. Сделайте статический контент не кешируемым, установив «Cache-Control: no-cache»:
appcmd set config "Default Web Site/<Application>/<Folder>" /section:staticContent /clientCache.cacheControlMode:DisableCache
куда <Application>/<Folder>
это путь к вашей папке
Смотрите также IIS 7.0: элемент clientCache для staticContent (схема настроек IIS)