Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetAllowResponseInBrowserHistory(false);
При поиске аутентификации я обнаружил две вышеуказанные строки. Что они означают?
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetAllowResponseInBrowserHistory(false);
При поиске аутентификации я обнаружил две вышеуказанные строки. Что они означают?
Метод HttpCachePolicy.SetCacheability
NoCache: устанавливает заголовок Cache-Control: no-cache. Без имени поля директива применяется ко всему запросу, а кэш общего доступа (прокси-сервера) должен принудительно выполнить повторную проверку с исходным веб-сервером до удовлетворения запроса. При имени поля директива применяется только к названному полю; остальная часть ответа может быть предоставлена из общего кэша.
HttpCachePolicy.SetAllowResponseInBrowserHistory Method
Когда для параметра HttpCacheability установлено значение NoCache или ServerAndNoCache, заголовок HTTP истекает по умолчанию, равный -1; это говорит клиенту не кэшировать ответы в папке "История", поэтому при использовании кнопок "назад/вперед" клиент каждый раз запрашивает новую версию ответа.
Первый говорит браузеру не кэшировать эту страницу (см. здесь), а второй говорит браузеру не включать эту страницы в истории просмотра (см. здесь).
В этом cache
управляется с помощью следующего утверждения:
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Эти строки не позволяют кешировать страницу.
То, что я обнаружил трудным образом и в день исследования, имея Response.Cache.SetCacheability(HttpCacheability.ServerAndNoCache)
в Global.asax.cs
файле:
protected void Application_PreSendRequestHeaders(Object sender, EventArgs e)
{
Response.Cache.SetCacheability(HttpCacheability.ServerAndNoCache);
}
помогает обрабатывать всплывающее окно с новыми данными в браузере IE.
Устанавливая это, второй раз вызывает контроллер, когда всплывающее окно открывается и обновляет данные внутри сервера.
Надеюсь, что это поможет кому-то.