Comment faire pour effacer le cache du navigateur sur le bouton précédent du navigateur, cliquez dans MVC4?
Je sais que c'est une question populaire dans stackoverflow. Je suis passé par tous les même question et je n'arrive pas à trouver la bonne réponse pour moi.
Ceci est mon journal hors Action de contrôleur Résultat
[Authorize]
public ActionResult LogOut(User filterContext)
{
Session.Clear();
Session.Abandon();
Session.RemoveAll();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
Response.Cache.SetNoStore();
FormsAuthentication.SignOut();
return RedirectToAction("Home", true);
}
Il ne fonctionne pas pour moi.
J'ai aussi essayé d'ajouter-
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="0"/>
aucun de ces résolu mon problème.
- Retour à où? N'importe où? Ou tout simplement une action spécifique?
Vous devez vous connecter pour publier un commentaire.
Le problème avec votre approche est que l'environnement où il est déjà trop tard pour MVC pour l'appliquer. Les trois lignes suivantes de votre code doit être mis dans la méthode que montre la vue (et par conséquent de la page) que vous ne voulez pas montrer.
Si vous souhaitez appliquer le "pas de cache sur le navigateur en arrière" comportement sur toutes les pages, alors vous devriez le mettre dans mondiale.asax.
Il suffit de régler le cache de sortie sur l'action. J'ai utilisé cette méthode dans de nombreux projets:
Ci-dessus attribut essentiellement d'indiquer au navigateur pour obtenir une nouvelle copie de la page à partir de votre contrôleur de l'action si l'utilisateur navigue à l'arrière /vers l'avant de votre point de vue.
Vous pouvez également définir votre mise en cache dans le web.config et de l'utiliser en conjonction avec cet attribut pour éviter des répétitions. Voir ici