Как очистить кеш браузера, когда пользователь выходит из системы asp.net с помощью С#?

Как новый в asp.net. В моем приложении asp.net для членства в log off on click event используется функция ClearSession(), но проблема возникает после выхода из системы, если я нажимаю кнопку «Назад» в браузере, он перенаправляется на кешированную страницу. Как очистить кеш в браузере, чтобы пользователь не мог просматривать свой профиль, если он не авторизован

protected void ClearSession()
{
    FormsAuthentication.SignOut();
    Session.Clear();
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.ExpiresAbsolute = DateTime.UtcNow.AddDays(-1d);
    Response.Expires = -1500;
    Response.CacheControl = "no-Cache";
}

person Hassaan    schedule 10.03.2014    source источник
comment
Обратите внимание, что вы не можете очистить кеш браузера ни с сервера, ни с клиентской части вашей страницы, и вы не можете настроить поведение браузера (вы можете сообщить браузеру о кешировании, но не принудительно). Поэтому, если вы беспокоитесь о том, что страницы останутся на компьютере пользователя, вам действительно не повезло.   -  person Alexei Levenkov    schedule 10.03.2014
comment
Возможный дубликат Убедиться, что веб-страница не кэшируется во всех браузерах   -  person BalusC    schedule 04.01.2016


Ответы (2)


Я думаю, вы почти у цели. Вам нужно больше заголовков HTML для поддержки всех браузеров. Согласно этой статье на SO это те, которые работают во всех браузерах:

Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0

Полный код для этого:

HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache, no-store, must-revalidate");
HttpContext.Current.Response.AddHeader("Pragma", "no-cache");
HttpContext.Current.Response.AddHeader("Expires", "0");
person Patrick Hofman    schedule 10.03.2014

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Pragma", "no-cache"); 
response.setDateHeader("Expires", 0); 

Эти заголовки будут работать только на страницах, на которых они включены, а не для всех веб-приложений, поэтому либо вы должны добавить фильтр, который включает этот заголовок на все страницы, либо вы можете отключить кнопку «Назад».

person humanshu    schedule 30.06.2015