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

Кэширование ASP.NET, IS7 и IE8?

У нас внезапно возникли проблемы с некоторыми из наших сайтов, на которых в браузере отображаются старые версии файлов .css и .js. Как правило, эти проблемы исчезают, когда пользователь очищает кеш в браузере.

Что мы можем сделать в коде или в IIS7, чтобы убедить браузер не использовать кешированные файлы?

В нашем самом странном случае у нас есть один клиент, пользователи которого заходят на наш сайт и получают старую версию js-файла. Они очищают кеш, загружают страницу, получают текущую версию, и страница работает нормально. Затем они снова загружают файл и внезапно снова получают старую версию.

Есть идеи относительно того, как это могло происходить? Я могу вспомнить три:

  1. Когда мы очищаем кеш, браузер каким-то образом сохраняет старую версию и помещает ее обратно в кеш перед загрузкой второй страницы.
  2. На одном из наших серверов есть старая версия файла, и хотя первая загрузка страницы после очистки кеша извлекает ее с одного из серверов с текущей версией, вторая и последующие загрузки страниц извлекают ее с сервера, на котором установлена ​​старая версия.
  3. Первая загрузка после очистки кеша идет прямо на наши серверы, а последующие загрузки извлекают файл из кеша на веб-прокси клиента.

Я должен сказать, что все три сценария кажутся невероятно маловероятными, но это повторяющееся поведение.

Любые идеи?