Срок действия кэша веб-страницы истекает

StackOverflow https://stackoverflow.com/questions/57380

  •  09-06-2019
  •  | 
  •  

Вопрос

Будет ли работать приведенный ниже код, если часы на сервере опережают часы на клиенте?

Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1))

РЕДАКТИРОВАТЬ:Причина, по которой я спрашиваю, заключается в том, что в одном из наших веб-приложений некоторые пользователи утверждают, что видят страницы (номера счетов и т. д.) пользователя, который ранее использовал этот компьютер.Тем не менее, мы используем приведенную выше и другие строки, чтобы «предотвратить» это.

Это было полезно?

Решение

Этот вопрос охватывает проверку того, что веб-страница не кэшируется.Кажется, вам нужно установить несколько свойств, чтобы веб-страница не кэшировалась во всех браузерах.

Другие советы

Ваша проблема может быть вызвана тем, что браузер запоминает данные, введенные в поля формы.Вы можете отключить это следующим образом:

<input autocomplete="off">

Насколько я могу судить, браузер проверит дату истечения срока действия по местным часам (хотя он будет учитывать часовой пояс), поэтому код в вашем вопросе может работать не так, как вы ожидаете, если часы клиента неточны.Чаще всего это происходит, когда время выглядит правильно, но установлен неверный часовой пояс, а это означает, что временные метки UTC на самом деле отстают на несколько часов.

Вы можете попробовать установить гораздо более старую временную метку, скажем:00:00 1 января 1970 года по Гринвичу (эпоха)

Я думаю, что ваш код должен работать с кэшированием на стороне сервера, но вы можете более явно отключить его с помощью:

Response.Cache.SetNoServerCaching();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top