Artigo Originalmente publicado na WebMobile 05
rc="/imagens/webmobile/wm05_capa.JPG" width=149 border=0>
Clique aqui para ler todos os artigos desta edição
ASP.NET – Aumentando a performance de suas aplicações web
Parte III – Session, ViewState, Cache e State Server
Nesta última parte de uma série onde estamos discutindo um importante tema no desenvolvimento web (performance), vamos conhecer os diversos objetos disponíveis no ASP.NET que possibilitam o gerenciamento de estado e sessão, incluindo Session, ViewState e Cache. No final deste artigo, também veremos um importante recurso do ASP.NET que permite a definição de um servidor de estado (State Server) que poderá aumentar consideravelmente a escalabilidade e disponibilidade de suas soluções web.
Vou supor aqui que o leitor não possui experiência ainda com o tratamento de sessão em aplicações web, de forma que iniciaremos pelo básico, com um exemplo bem simples. Aproveitaremos para examinar o modelo de execução do ASP.NET e porque precisamos gerenciar estado/sessão nesse contexto. Além disso, você aprenderá quando deve utilizar cada um dos objetos disponíveis no ASP.NET de acordo com o problema proposto.
Windows Forms (Desktop) x ASP.NET Web Forms (Web)
Para entendermos o funcionamento básico do porquê de existir o tratamento de estado/sessão
Esse entendimento inicial é fundamental para que possamos prosseguir nossos estudos neste artigo, principalmente se você está vindo (leia-se “migrando”) de um ambiente desktop. Caso esteja apenas iniciando no desenvolvimento web, é importantíssimo que compreenda desde o princípio como o ASP.NET gerencia requisições HTTP e seu modelo de execução, para evitar problemas futuros.
Para começar, vamos criar uma aplicação Windows Forms típica. A seguir, vamos fazer exatamente a mesma aplicação com ASP.NET Web Forms, usando os mesmos controles e o mesmo código, e você verá que, apesar dela funcionar perfeitamente
Você pode utilizar o Visual Studio .NET 2003 para criar estes exemplos, vou tomar o cuidado de usar apenas o recursos disponíveis no .NET Framework 1.1 (apesar de que teremos grandes novidades relacionadas ao assunto na versão 2.0, abordadas em futuras oportunidades). Aqui vou utilizar o Visual C# 2005 Express Edition Beta 2 para criar a aplicação Windows Forms e o Visual Web Developer 2005 Express Edition Beta 2 para criar a aplicação web.
No Visual C# Express clique em File>New Project e a seguir escolha a opção Windows Application (Figura 1). Dê um nome para a aplicação usando a opção Name.
Figura 1. Criando uma aplicação Windows Forms no Visual C# 2005 Express Edition Beta 2.
No formulário principal, a partir da Toolbox, coloque dois controles TextBox e dois Buttons, ajustando-os conforme mostrado na Figura 2.
Figura 2. Formulário principal da aplicação Windows Forms.
O código para o evento Click de cada um dos botões é mostrado na Listagem 1. Observe que declaramos uma variável privada chamada str, do tipo string. O código é simples: quando o botão Gravar for clicado, o valor digitado no TextBox1 é guardado
private string str;
private void btnGravar_Click(object sender, EventArgs e)
{
str = textBox1.Text;