У меня есть вопрос, связанный с методами аннулирования кэша ... Я пытаюсь реализовать механизм для моего веб-сайта, который автоматически аннулирует кэш браузера (CSS, изображения ...). Я хочу иметь возможность программно аннулировать кеш браузера при каждом обновлении сайта (изменение изображений или стилей);
Например: для текущей версии, среди прочего, CSS и некоторые изображения были изменены. В этой ситуации я хочу, чтобы после завершения обновления, когда пользователь выполнял запрос к веб-сайту, кэш его браузера автоматически становился недействительным, заставляя тем самым повторно загружать новые изображения и стили. Это должно быть сделано только для первого запроса клиента ... следующие должны быть извлечены из кеша (поэтому установка прагмы no-cache исключена).
Вот что я пробовал:
в обработчик событий BeginRequest я добавил следующие строки:
Response.Cache.SetCacheability (HttpCacheability.ServerAndPrivate);
Response.Cache.SetETag ( "\" e111293b17594f1487d136ea7e9314ac \ "");
устанавливает ETag в заголовках ответа. Я полагал, что если я буду менять этот ETag в каждом выпуске и устанавливать его при каждом запросе, кеш будет аннулирован, но, похоже, это не так. Я использовал заголовки Live HTTP, чтобы увидеть результаты, и ETAG правильно настроен для ответа, но CSS и изображения все еще берутся из кэша ....
Есть какие-нибудь идеи о том, как мне этого достичь или можно ли вообще это сделать?
Заранее спасибо!