Отключить кэширование статического содержимого в IIS 7


9

Я разработчик, имеющий то, что должно быть относительно простой проблемой в IIS 7 на Windows Server 2008 R2. Проблема в том, что IIS 7 чрезмерно кеширует весь статический контент на сервере. Он кэширует весь контент .html и .js и не замечает, когда контент меняется на диске, если только я не восстановлен.

Я пробовал следующее:

  1. Удаление локального кэша в моем браузере (я на 99% уверен, что это проблема с кэшированием на сервере)
  2. В IIS Admin в OutputCaching добавьте расширение .html и снимите флажок «Кэширование в режиме пользователя» и снимите флажок «Кэширование в режиме ядра».
  3. В IIS Admin в OutputCaching добавляем расширение .html и проверяем «Кэширование в режиме пользователя» и выбираем радио для «Запретить все кеширование».
  4. В IIS Admin измените настройки функции «Выходной кэш» и снимите флажки «Включить кэш» и «Включить кэш ядра в OutputCaching».
  5. Запуск "C: \ Windows \ System32 \ inetsrv \ config \ appcmd set config" SharePoint - 80 ", раздел: system.webServer / caching -enabled: false"
  6. Просматривая applicationHost.config и отключая все, что связано с кэшированием, я смог найти.

Ничто не похоже на работу. Я очень расстроен Может кто-нибудь, пожалуйста, помогите?


2
Вам удалось найти решение. Я сталкиваюсь с той же проблемой. Перепробовал все, и я просто не могу отключить кеширование. Единственный способ - изменить имя файла, сделать запрос и затем вернуться обратно.
Tivie

Ответы:


4

Мне бы очень хотелось увидеть system.webServer/cachingраздел из ваших applicationhost.config и web.config. Пожалуйста, вставьте их, если можете. Запустив вышеуказанную команду appcmd, вы только что отключили кэширование в режиме пользователя, но у вас все еще включено кэширование ядра. Кроме того, если вы действительно хотите отключить кэширование на уровне веб-сайта или сервера, просто измените следующее:

<system.webServer>
    <caching enabled="false" enableKernelCache="false" />
</system.webServer>

Вы также можете использовать инструменты Fiddler, чтобы проверить, действительно ли содержимое кешируется, т.е. возвращает ли оно вам 304.


0

На сервере, если вы запускаете 'netsh http show cache', вы видите какие-либо кэшированные записи? Если это так, значит, вы не отключили кэширование вывода на веб-сервере.


0

И всего лишь 0,02 доллара, чтобы проверить, что ваши обработчики - это те обработчики, которых вы ожидаете.

Статические файлы обычно обслуживаются обработчиком статических файлов. Если вы сделали сумасшедшие вещи, такие как создание карты сценариев с подстановочными знаками или зарегистрировать модуль для всех типов файлов и глаголов ...

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.