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.

Use o objeto de sessão

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: -

  1. 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.
  2. 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.
  3. 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:

Use o objeto de sessão

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.