Ce qui précède est très bien si vous savez à quelles pages vous voulez effacer le cache. Dans mon cas (ASP.NET MVC), j'ai référencé les mêmes données de partout. Par conséquent, quand j'ai fait un [enregistrer] je voulais effacer le site du cache. C'est ce qui a fonctionné pour moi: http://aspalliance.com/668
Ceci est fait dans le contexte d'un filtre OnActionExecuting. Il pourrait tout aussi bien être fait en remplaçant OnActionExecuting dans un BaseController ou quelque chose.
HttpContextBase httpContext = filterContext.HttpContext;
httpContext.Response.AddCacheItemDependency("Pages");
Configuration:
protected void Application_Start()
{
HttpRuntime.Cache.Insert("Pages", DateTime.Now);
}
Tweak Minor: J'ai une aide qui ajoute "messages flash" (messages d'erreur, messages succès - "Cet article a été enregistré avec succès", etc.). Afin d'éviter que le message flash apparaisse sur chaque GET suivant, j'ai dû invalider après avoir écrit le message flash.
Effacer le cache:
HttpRuntime.Cache.Insert("Pages", DateTime.Now);
Hope this helps.
Est-ce que quelqu'un sait si quelque chose comme ceci est disponible pour ASP classique? – Brettski
Je ne pense pas que la mise en cache était disponible dans ASP, donc pas désolé. – GateKiller
Ceci efface tous les caches pour tous les paramètres de cette page. – Salim