Session

<< Click to Display Table of Contents >>

Navigation:  ASP.NET > State Management >

Session

Previous pageReturn to chapter overviewNext page

É o peso pesado do State Management. Permite que as informações persistam em todas as páginas do site. Cada utilizador que entra no site tem um SessionId diferente o que permite guardar informações por utilizador. A Session tem um peso grande para a memória do servidor.

É visto apenas pela sessão - usuário atual.

 

Para guardar o SessionId entre Requests é utilizado um cookie chamado “ASP.NET_SESSIONID”. Se o browser não suportar cookies, é utilizado QueryString.

 

Este cookie só é criado quando guardamos algo na sessão, até lá, é sempre gerado um novo SessionId a cada Request.

 

Gravar

 

Session["Variavel"] ="valor";  // aceita objetos!

 

Ler

 

string valor = Session["Variavel"].ToString();

 

Aceita objetos.

 

A sessão é global para toda a aplicação por utilizador. A sessão perde-se quando o utilizador fechar o browser, a aplicação fizer Restart ou terminar a sessão utilizando o método Session.Abandon();

 

Podemos configurar o comportamento da Sessão no Web.config. No atributo “SessionState”, podemos definir o timeout, o modo de guardar a sessão (memória do servidor, sql server, state server), se utiliza cookies, etc.

 

Mais informações:

Configurando servidor IIS