web-dev-qa-db-fra.com

Vider manuellement le cache du serveur ASP.NET pour une seule application / site Web?

Comment puis-je effacer manuellement le cache du serveur ASP.NET (IIS 7) sur une application/un site Web donné, comme ce qui peut être fait dans IE pour effacer le cache du navigateur pour un domaine donné?

30
Faith Wins

Utilisez ce qui suit pour supprimer tous les objets du cache

IDictionaryEnumerator enumerator = HttpContext.Current.Cache.GetEnumerator();

while (enumerator.MoveNext())
{

    HttpContext.Current.Cache.Remove((string)enumerator.Key);

}

En outre, c'est un peu une option de marteau, mais vous pouvez redémarrer l'application entière comme suit:

System.Web.HttpRuntime.UnloadAppDomain();
45
NakedBrunch

J'ai eu le même problème et le recyclage du pool d'applications m'a aidé. Tous mes caches se sont immédiatement rechargés comme je le voulais.

12
Niklas Wulff