Esse artigo faz parte da revista WebMobile edição 17. Clique aqui para ler todos os artigos desta edição

imagem.JPG

NT-FAMILY: Verdana; mso-ansi-language: PT">Gerênciamento de Estado no ASP.NET 2.0

 

Quando falamos em gerenciamento de estado em páginas web, queremos dizer em simplesmente manter o valor dos objetos e variáveis que as compõem. Ao desenvolver aplicações Desktop, ou Windows Forms como chamamos no .NET, esse controle não é necessário, pois a aplicação aloca automaticamente um espaço de memória onde os valores das variáveis e objetos são armazenados durante o tempo que a aplicação estiver no ar.

Aplicações Web utilizam o protocolo HTTP para transportar requisições entre o browser e o servidor, o qual é um protocolo que não mantém o estado entre as requisições e respostas, ou seja, cada requisição (um clique em um botão, por exemplo) é tratada como se fosse único, sem histórico algum do que aconteceu até aquele momento. Deste modo, cabe ao programador fazer um controle do estado e do histórico de tudo que acontece, para isso o ASP.NET fornece várias ferramentas que podem ajudar no gerenciamento de estado em aplicações Web.

Basicamente o ASP.NET fornece dois diferentes meios de gerenciar estado: client-side e server-side. Client-side armazena o estado dos objetos no computador no cliente, embutindo (embedding) a informação dentro da página Web, através da própria URL ou mesmo cookies. Server-side gerencia o estado com cookies ou também pela URL, mas armazena a informação na memória do servidor, ou no database.

Neste artigo veremos uma introdução as formas de gerenciamento de estado tanto no cliente quanto no servidor Web, utilizando os recursos do ASP.NET.

Client-Side State Management

O meio mais escalonável de se fazer gerenciamento de estado é armazenando as informações no cliente. O ASP.NET nos prove várias técnicas para armazenamento de informações no cliente, vejamos:

 

·         View state

Usado pelo ASP.NET para armazenar as informações nos controles.

Como você já deve ter ouvido falar, se um usuário clicar em um botão para realizar o submit em uma página, a página manterá todos os valores e configurações dos objetos que a compõe. Por exemplo, se você modificar o texto de um TextBox e depois clicar em um botão, o texto modificado será mantido e exibido novamente após o submit. Isso acontece por que o ASP.NET possui uma técnica de gerenciamento de estado no cliente chamada View state.

È perfeitamente possível também gravar e resgatar dados do View state. Se você possui alguma informação que deseja manter enquanto o usuário está navegando pela página, armazenar essa informação no View state é a maneira mais segura e eficiente de fazer. Por outro lado, o View state é volátil, e perde seus dados quando o usuário visita uma página diferente, o que o torna útil somente quando se deseja armazenar valores temporariamente.

Vejamos na Listagem 1 um exemplo de como gravar e resgatar dados do View state.

 

Listagem 1. Resgatando dados do View state

// Verifica se o item existe, e exibe se verdadeiro

if (((ViewState["nome"] != null) && (ViewState["ultimaVisita"] != null))){

Label1.Text = "Seja bem-vindo " + (string)ViewState["nome"];

Label2.Text = "Sua última visita foi em " + ((DateTime)ViewState["ultimaVisita"]).ToString();

}

...

Quer ler esse conteúdo completo? Tenha acesso completo