terça-feira, 22 de abril de 2008

Páginas ASP.NET cacheáveis

Ou "Como fazer que as páginas ASPX sejam guardadas no cache do browser?"

Eu costumava salvar toda página estática dos meus projetos Web em arquivos .HTML, mas o Sandro do MS-Developers me ensinou como fazer páginas ASPX cacheáveis:

Insira o seguinte código C# .NET no Page_Load:

Response.Cache.SetExpires(DateTime.Now.AddYears(1));
Response.Cache.SetCacheability(System.Web.HttpCacheability.Public);
Você pode usar a condição if(!IsPostBack) para executar o código acima em páginas AJAX.

Pesquisando melhor encontrei um método alternativo, inclua no início do arquivo ASPX:
<%@ OutputCache Duration="31536000" Location="Any" VaryByParam="none" %>
Conforme o manual do ASP Alliance

E para desabilitar o cache basta usar o seguinte código:
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);

Nenhum comentário: