проблема с кешем в asp.net - PullRequest
1 голос
/ 07 июня 2010

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

<clientCache cacheControlMode="DisableCache" />

в соответствующем теге <location> в web.config

Если я открою страницу в Firebug (на вкладке Net ), я вижу, что заголовки Ответа имеют Cache-Control: no-cache, что правильно, но статус Ответа 304 Не изменен ! Разве это не противоречие? Как я могу заставить его остановить кэширование (т.е. всегда отправлять 200 с контентом)?

1 Ответ

4 голосов
/ 07 июня 2010

В соответствии с RFC (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1,, раздел 14.9.1) Cache-control: no-cache указывает браузеру не использовать кэшированное содержимое без предварительной повторной проверки на сервере .Вот почему вы видите 304.Я думаю, что вы ищете Cache-Control: no-store.

Я не уверен, что вы можете отправить no-store через файл конфигурации.Однако вы можете явно указать заголовок в ответе:

Response.Cache.SetNoStore();

РЕДАКТИРОВАТЬ: (по OP)

Что я искал, было:

<clientCache cacheControlCustom="no-store" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...