Désactiver la mise en cache sur une vue partielle en MVC 3

J'ai un problème avec une Vue partielle sur la mise en cache quand il ne devrait pas l'être. Cette vision partielle est utilisée pour l'affichage de l'ouverture/Fermeture de session sur une page. Il utilise le simple code ci-dessous pour déterminer quel lien pour afficher

@if(Request.IsAuthenticated) {    
    <a href="@Url.Action("LogOff", "Account", new { area = "" })">Log Off</a> 
}
else {
    <a href="@Url.Action("LogOn", "Account", new { area = "" })">Log On</a>
}

Cette vision partielle est appelé à partir de toutes les pages dans mon MVC3 application, à l'aide de

@Html.Partial("_HeaderView")  

Dans la plupart de mes contrôleurs, j'ai le cache de sortie définie, donc je peux profiter de la mise en cache le contenu de mon.

[OutputCache(Duration = 86400, VaryByParam = "*")]

Maintenant mon problème est que l'ensemble de la page est mise en cache lorsque je ne veux pas la vue partielle de l'être. Ceci est à l'origine de mauvais comportement où dans il affiche parfois la Fermeture de session, même si l'utilisateur n'est pas connecté etc. Est-il un moyen pour mettre en cache tout le contenu, sauf pour la vue partielle en question?

  • Nick, désolé dû ajouter le commentaire ici. De toute façon, il fonctionne quand je supprimer le Nostore et changé la durée à 1. Le seul problème maintenant, c'est lorsque l'utilisateur se connecte, elles sont prises à la page d'accueil mais j'ai explicitement l'actualiser pour que les modifications prennent effet (pour montrer la déconnexion au lieu de l'ouverture de session).
InformationsquelleAutor SimpleUser | 2012-01-09