est-il un moyen de pour empêcher une page mise en cache lorsque l'attribut OutputCache a été mis sur une action?Prévenir vue de retour étant mis en mémoire cache lorsqu'une erreur se produit
Il en est ainsi que, lorsque la page est ensuite frappé, il ne stocke pas la page d'erreur générique qui a été retourné précédemment.
Un exemple ci-dessous montre un exemple où il serait souhaitable que l'application ne cache la page, quand il fait une exception pour une raison quelconque (timeout db, etc.).
[OutputCache(CacheProfile = "Homepage")]
public ActionResult Index()
{
var model = new HomepageModel();
try
{
model = Db.GetHomepage();
}
catch
{
//Do not want to cache this!
return View("Error");
}
//Want to cache this!
return View();
}
Mise à jour En fin de compte, je simplement besoin d'ajouter ce qui suit:
filterContext.HttpContext.Response.RemoveOutputCacheItem(filterContext.HttpContext.Request.Url.PathAndQuery);
Il est récupéré à partir another question.
Salut @Clicktricity. Merci pour votre réponse. Malheureusement, la redirection de l'utilisateur n'est pas possible. J'ai regardé un autre problème similaire - http://stackoverflow.com/questions/1043112 après avoir découvert 'RemoveOutputCacheItem'. ce qui est plus ou moins ce que je voulais. –