IIS CSS Кэширование - PullRequest
       13

IIS CSS Кэширование

11 голосов
/ 23 сентября 2008

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

Ответы [ 4 ]

9 голосов
/ 23 сентября 2008

Если вы обслуживаете свой CSS из статических файлов (или чего-либо, для чего строка запроса не имеет значения), попробуйте изменить это, чтобы браузер делал новый запрос, так как он будет думать, что он совершенно другой ресурс, например, так:

"styles.css? Token = 1234" в ссылке CSS в вашей разметке и меняйте значение "token" при каждой регистрации CSS

5 голосов
/ 23 сентября 2008

В вашей среде разработки установите заголовок Expires намного ниже. В вашей производственной среде установите его выше, а затем установите его низким примерно за неделю до выпуска.

2 голосов
/ 19 марта 2009

Подобные (чуть более подробные) ответы даны для JavaScript-версии этого вопроса, которая имеет ту же проблему / решение

Помощь с агрессивным кэшированием JavaScript

2 голосов
/ 23 сентября 2008

Это не очень хорошее решение, но я обошел это раньше на уровне страницы, добавив строку запроса в конец вызова файла CSS:

 <link href="/css/global.css?id=3939" type="text/css" rel="stylesheet" />

Тогда я бы рандомизировал значение id, чтобы оно всегда загружало другое значение при загрузке страницы. Тогда я бы вынул этот код, прежде чем отправлять в производство. Я полагаю, вы также можете извлечь значение из файла конфигурации, так что его нужно загружать только один раз за коммит.

...