Tutorial de gerenciamento de sessão ASP.NET [exemplo]
Gerenciamento de sessão ASP.NET
O protocolo HTTP no qual todos os aplicativos da web funcionam é um protocolo sem estado. Por stateless, significa apenas que as informações não são retidas de uma solicitação para outra.
Por exemplo, se você tivesse uma página de login com 2 caixas de texto, uma para o nome e outra para a senha. Quando você clica no botão Login nessa página, o aplicativo precisa garantir que o nome de usuário e a senha sejam passados para a próxima página.
No ASP.Net, isso é feito de várias maneiras. A primeira maneira é através de um conceito chamado ViewState. É aqui que o ASP.Net armazena automaticamente o conteúdo de todos os controles. Também garante que isso seja passado para a próxima página. Isso é feito por meio de uma propriedade chamada ViewState.
Não é ideal para um desenvolvedor alterar alguma coisa no estado de visualização. Isso ocorre porque ele deve ser tratado apenas pelo ASP.Net.
Objeto de sessão ASP.NET
A outra maneira é usar um objeto chamado “Objeto de Sessão”. O objeto Session está disponível durante todo o ciclo de vida da aplicação. Você pode armazenar qualquer número de pares de valores-chave no objeto Session. Portanto, em qualquer página, você pode armazenar um valor no objeto Session por meio da linha de código abaixo.
Session["Key"]=value
Isso armazena o valor em um objeto Session e a parte 'chave' é usada para dar um nome ao valor. Isso permite que o valor seja recuperado posteriormente. Para recuperar um valor, você pode simplesmente emitir a instrução abaixo.
Session["Key"]
Exemplo de objeto de sessão ASP.NET
Em nosso exemplo, usaremos o objeto Session para armazenar o nome inserido no campo da caixa de texto nome da página. Em seguida, recuperaremos esse valor e exibi-lo na página de acordo. Vamos adicionar o código abaixo ao arquivo Demo.aspx.cs.
protected void btnSubmit_Click(object sender,EventArgs e) { Session["Name"] = txtName.Text; Response.Write(Session["Name"]); lblName.Visible = false; txtName.Visible = false; 1stLocation.Visible = false; chkC.Visible = false; chkASP.Visible = false; rdMale.Visible = false; rdFemale.Visible = false; btnSubmit.Visible = false; }
Explicação do código: -
- A primeira linha do código pega o valor do controle de caixa de texto Name e o armazena no objeto Session. Ao especificar o código de Session[“Name”] , estamos dando à propriedade um nome chamado “Name”. Ao especificar um nome para a propriedade, fica mais fácil recuperá-la posteriormente.
- A próxima linha de código recupera o valor armazenado do objeto Session. Em seguida, ele grava esse valor por meio do método 'Response.Write' de volta ao cliente.
- Finalmente, tornamos todos os controles do formulário invisíveis. Se não fizermos isso, todos os controles mais nossos valores de resposta serão exibidos juntos.
Depois de fazer as alterações acima, você verá a seguinte saída
Saída:
Na saída, você pode ver que o valor da sessão de nome foi recuperado e exibido no navegador.
Resumo
- O gerenciamento de sessões é uma forma de ASP.net para garantir que as informações sejam passadas de uma página para outra.
- A propriedade view state de uma página é usada para passar automaticamente as informações dos controles de uma página para outra.
- O objeto 'Sessão' é usado para armazenar e recuperar valores específicos em uma página da web.