Removendo o Cache de todos os componentes no ASP.NET
O ASP.Net oferece um esquema de Cache bastante interessante que podemos utilizar em nossos projetos, permitindo uma maior escalabilidade de nossas aplicações e um menor uso do banco de dados. Veja mais em ASP.NET Caching.
Temos a classe Cache e ainda a opção de “cachear” o resultado (ou output) de uma página web, definindo também o tempo que ela vai valer, neste caso usando a tag OutputCache.
Eu já vi isto também no PHP, com o Smarty, simplesmente maravilhoso 🙂
Mas o que quero explicar neste artigo é que na maioria das vezes vamos adicionando caches e mais caches na página e se você não se organizar, vai chegar um ponto em que nada mais vai ficar atualizado, porque estarão no cache.
Então, o que fazer nestes casos?
1 – Ou você se policia para que em algum momento exclua o cache, utilizando:
System.Web.HttpContext.Current.Cache.Remove(“chave”);
2 – Ou você pode criar uma página que limpa todo o cache de sua aplicação, automaticamente.
-
string currentKey= “”;
-
System.Collections.IDictionaryEnumerator cacheContents = System.Web.HttpContext.Current.Cache.GetEnumerator();
-
while (cacheContents.MoveNext()) {
-
currentKey = cacheContents.Key.ToString();
-
System.Web.HttpContext.Current.Cache.Remove(curren tKey);
-
}
Bom, as duas opções podem ser consideradas, mas a que mais recomendo é a primeira, pois a segunda tem que ser utilizada apenas em último caso, quando não há outra alternativa.
A grosso modo, é o modo “gambiarra” de resolver hehehe
Fonte: http://www.codigofonte.net/dicas/aspnet/864_removendo-o-cache-de-todos-os-componentes-no-asp-net