P>
Clique aqui para ler todos os artigos desta edição
ASP.NET
Otimizando o ViewState de páginas ASP.NET
Este artigo discute |
Este artigo usa as seguintes tecnologias |
· O que é ViewState; · Problemas do ViewState; · Eventos de uma página ASP.NET; · Armanzenando o ViewState no servidor; |
Visual Studio 2005, ASP.NET e C#. |
ViewState é um recurso do ASP.NET que facilita o gerenciamento do estado de uma página Web. O ASP.NET utiliza intensamente o ViewState para conseguir manter o estado de controles entre requisições HTTP. Não fosse isso, tudo o que você configura em um controle (como o valor de uma propriedade) seria perdido a cada requisição.
Podemos trabalhar com o recurso de forma totalmente transparente, já que o ASP.NET faz todo o gerenciamento necessário para salvar e carregar o estado de uma página. Essa facilidade traz um inconveniente: o tamanho (em bytes) da página gerada. Para solucionar esse problema, neste artigo mostrarei como salvar o valor do campo ViewState no servidor, reduzindo consideravelmente o tamanho da página gerada e aumentando a performance da aplicação.
O que é o ViewState?
O ViewState se apresenta no lado cliente na forma de um campo hidden (oculto) e tem a função de armazenar o estado da página. Os valores de propriedades de objetos como Label, TextBox, GridView etc. são salvos nesse campo utilizando uma árvore de objetos e valores. Veja um exemplo na Figura 1 obtido com a ferramenta ViewState Decoder.
Figura 1. Árvore de objeto e valores do ViewState
Uma vez gerada essa árvore, o .NET Framework utiliza uma classe chamada LosFormatter para efetuar a serialização e retornar a representação na forma de um string que será salva no campo __VIEWSTATE.
Eventos do WebForm
Nossa página ASP.NET gera alguns eventos, vejamos a sequência desses eventos na Tabela 1.
Init |
LoadViewState |
Load |
PreRender |
... |