2010-12-07 3 views
0

Je recherche un filtre de cache qui peut être retiré lorsque certaines actions sont effectuées. SupposonsAjouter/Supprimer un cache en tant que filtre sur le contrôleur

J'ai une action d'index qui charge des enregistrements et est mise en cache avec un filtre pendant une minute. Tant que j'appelle Index, l'action doit être mise en mémoire cache et aucun déplacement vers db.

Une fois que je crée un enregistrement dans l'action Créer plutôt que de supprimer le cache, chargez les enregistrements de la base de données.

Y at-il une solution à cela? J'ai trouvé un dans l'exemple de Web Ninject qui est comme ci-dessous. Je cherche la même solution.

[Cache(0, 0, 5, 0)] 
public ActionResult Index() 
{ 
    //Code here.... 
} 

[HttpPost] 
[ClearCacheOnSuccess("Index")] 
public ActionResult Create(string confirmButton, CreateViewModel userVm) 
{ 
    //Code here... 
} 

Répondre

0

Selon l'endroit où votre cache est conservée (serveur ou client), vous pouvez utiliser la méthode RemoveOutputCacheItem:

var urlToRemove = Url.Action("Index", "Home"); 
Response.RemoveOutputCacheItem(urlToRemove); 
Questions connexes