Gerenciamento de estado: .Net

O artigo descreve de forma resumida as formas que o .NET possui para gerenciamento de estado das aplicações

Gerenciamento de estado

State Management: processo que tem como objetivo manter ativas algumas informações mesmo que o usuário navegue por várias páginas de uma aplicação.

Existem dois tipos de State Management:

Server Side

Application State (variáveis de aplicação) – a informação fica disponível para todos os usuários online. Exemplo de Utilização: No arquivo Global.asax; No método Application.Start.


            Application [“vQtdUsuários”] += 1;

            Application.Unlock;
        

Sesson State (variáveis de sessão): as variáveis de sessão são únicas para cada visitante do Web Site. Para que ela possa ser utilizada o servidor exige que um cookie armazene uma SessãoID na máquina do cliente.

Tempo de expiração no Web Config

Obs.: Se o cliente não estiver com o cookie habilitado no browser, as variáveis de sessão não vão funcionar. Par resolver esse problema a Microsoft criou a COOKEILESS SESSION.

Forma para armazenar SessionID na URL do cliente

Para fazer isso não poderia utilizar URL's absolutas para linkar as páginas do site. Devendo utilizar URL's relativas. O outro problema seria a limitação de caracteres suportados na URL do Browser.

Client Side

Cookies: pequena quantidade de informação (até 4 kb), armazenada num arquivo.Txt (persistent cookie) no cliente ou na memória do Browser (temporary cookie).


                httpCookie objCookie ;

                objCookie.Values.add (“Nome”, “Leo”);
          
                objCookie.Expires = Now.addHours (3);  //obs.: caso não informe o cookie é considerado temporário.
          
                Response.Cookies.add (objCookie); < envia dados para cliente.
          
          (...)    
            

QueryString: transportar informações pela URL. Obs.: Tomar cuidado devido a baixa segurança (dados visíveis) e tamanho da URL que o Browser suporta.

View State: recurso utilizado para manter todos as características de uma página entre as requisições efetuadas em ela mesma. Obs.: Cuidado que devemos tomar é que dependendo da quantidade de controles, esse recurso pode aumentar consideravelmente o tamanho da página, diminuindo o desempenho.

Artigos relacionados