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

Необычная проблема кеширования в IE 7/8 и IIS 7

Недавно мы переместили сайт в производство под управлением Server 2008 x64 и IIS 7. Страницы ASP.NET, по-видимому, загружаются нормально, но когда дело доходит до IE 7 и 8, возникла странная проблема кеширования с файлами CSS и JavaScript в страница.

Иногда IE не получает все файлы, необходимые для создания страницы (т.е. файлы CSS и JS). Когда я вручную перехожу к отсутствующим файлам из адресной строки, они возвращаются из локального кеша как пустые. Я нажимаю F5 на эти исходные файлы, и волшебным образом они появляются правильно. Я обновляю сайт после загрузки нескольких файлов, и кажется, что кеш не работает.

Эта проблема воспроизводилась (опять же, спорадически) только в IE 7 и 8 под управлением XP. Chrome и Firefox, похоже, не защищены.

Мы настроили IIS для использования кеширования ядра на стороне сервера для CSS, JS и изображений. Мы также установили срок действия контента для App_Themes и Scripts каталоги немедленно истекают. Первоначально предполагалось, что это SWF, загружающий FLV при загрузке страницы. Эти исправления не устранили проблему.

У нас не было проблем с нашим промежуточным сервером, который использует Server 2003 и IIS 6.

Любые идеи очень приветствуются.

P.S. Это похоже на эту проблему: но у нас установлен модуль статического содержимого. IIS: Content-Length 0 для CSS, Javascript и изображений

Одним из соображений может быть повреждение файловой структуры там, где находится кеш, поскольку тип / семейство браузеров обычно настраивают свои собственные области кэша в файловой системе. Вы можете попробовать переопределить кеш в другое место или проверить файловую систему на наличие трудностей (chkdsk).

Это можно исправить, выполнив следующие действия.

Перейдите на веб-сайт в IIS, нажмите «Кэширование вывода», выберите страницы aspx, установите переключатель «Предотвратить все кэширование».