Sempre que preciso receber informações temporárias e de rápido acesso, fico com a mesma dúvida: Qual devo utilizar ?
Temos três maneiras de guardar informações temporárias: Cache, Session e ViewState.
Cache: No caso é um tipo de memória na máquina onde o código está sendo executado. O cache faz com que as páginas carreguem rapidamente, ou seja, tem como função armazenar as informações de maneira simples e rápida para uma recuperação.
Uma maneira de implementar o cache é ativando – o na página, ou seja, o cache de saída :
<%@ OutputCache Duration=”10″ VaryByParam=”None” %>
Duration: é o quanto tempo a página será armazenada. Isto é em segundos.
VaryByParam: utilize isto caso precise passar um parametro do tipo query string, desta forma será feito o cache mesmo que haja ou não parâmetros. Utilize none para nenhum.
Session: É o tempo em que há a interação do usuário com a aplicação. No .Net a Session Default é definida por um timeout de 20 minutos, podendo ser alterada. A session pode ser definida da seguinte maneira:
Session(“NomeSession”) = ValorSession – Atribui a NomeSession o valor ValorSession.
ViewState: é o conjunto de informações monitoradas pelas mudanças feitas na página durante o post back. Ele já vem definido como default para todos os componentes do .Net.
Agora veja as vantagens e desvantagens de cada utilização:
Cache
Vantagem: Rapidez no carregamento da informação, já que a mesma encontra-se carregada.
Desvantagem: Não bem controlado, há possibilidade de StackOverFlow.
Session
Vantagem: Aceita qualquer váriavel e é de fácil acesso.
Desvantagem: Possui um timeout que possa dificuta-lo na recuperação de dados .
ViewState
Popularity: 38% [?]
