В моем приложении asp.net формы.Я пытаюсь предотвратить кеширование определенных страниц.для этого я установил серию заголовков элементов управления кэшем с помощью Response.AppendHeader, например:
protected override void OnLoad(Eventargs e)
{
...
Response.ClearHeaders();
Response.AppendHeader("Cache-Control","no-cache");
....
base.OnLoad(e);
}
Проблема в том, что когда я просматриваю свой сайт и смотрю вкладку «Сеть» в консоли Firefox, чтобы просмотреть запрос / ответЗаголовки Я вижу поведение следующим образом:
запрос / ответ POST для page1.aspx, который инициирует перенаправление (на page2.aspx) ответ здесь содержит правильные заголовки.
запрос / ответ GET для связанного ответа page2.aspx имеет заголовок управления кэшем, просто имеет значение 'pre-check = 0'
Этот второй запрос, по-видимому, позволяет осуществлять кэширование для страницы .. note: page1.aspx и page2.aspx оба имеют логику OnLoad, которую я описал выше.Также, если я предприму какое-либо действие на page2.aspx, ответ POST снова будет иметь правильные заголовки.
Что мне здесь не хватает?Я ожидал, что с логикой в OnLoad должно означать, что я всегда получаю заголовки в ответе и, следовательно, «всегда» получаю текущую версию страницы?
Я вижу, что Firefox загружает кэшированную версию страницы.
Я подумываю создать случайный идентификатор в URL запроса, чтобы вызвать проблему, но это кажется немного тяжелым.handed.
----- update ----- Похоже, это может быть связано с наличием кода кэширования в OnLoad.Я добавил эти заголовки в Page_Load () страницы, и он работает нормально?любые мысли.