Веб-сайт требует принудительного обновления после развертывания - PullRequest
27 голосов
/ 07 июня 2011

После развертывания новой версии веб-сайта браузер загружает все из своего кэша со старой веб-страницы до принудительного обновления. Изображения старые, файлы cookie старые, а некоторые компоненты AJAX не работают.

Как мне продолжить обслуживание пользователей с последней версией страницы после развертывания?

Веб-страница является веб-страницей ASP.Net с использованием IIS7 +.

Ответы [ 3 ]

34 голосов
/ 07 июня 2011

Вы можете добавить переменную в конец каждого из ваших ресурсов, которая меняется при каждом развертывании. Например, вы можете назвать свои таблицы стилей:

styles.css?id=1

с ID, меняющимся каждый раз.

Это заставит браузер загрузить новую версию, поскольку он не может найти ее в своем кэше.

3 голосов
/ 07 июня 2011

Для ASP.NET вы можете использовать элемент управления кэшем и заголовки expires . Вы также можете настроить аналогичные заголовки в IIS 7 для ваших изображений. Если у вас есть другие файлы cookie , вы можете отменить их вручную .

Я не пробовал, но, похоже, вы можете сделать еще более эффективную работу по массовой настройке управления кэшем в IIS 7. См. Эту ветку и по этой ссылке . В этот момент у вас остается только сброс любых пользовательских файлов cookie (которыми вы не сможете управлять с помощью настроек контроля HTTP-кэша).

Я не знаю ни одного метода, который бы «сразу все сбрасывал».

2 голосов
/ 07 июня 2011

Вы можете использовать http заголовки для управления кешем ваших клиентов.

Я просто оставлю это здесь для вас.http://support.microsoft.com/kb/234067

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...