Menu

Apresentação
Cursinho de ASP
Colunas
Fórum
Links
Livros
Essencial
Hospedagem
Empregos  

Faça um Link
Sessions

O objeto Session Object é usado para armazenar informações ou mudar a configuração da sessão de um usuário. Variáveis armazenadas no Session Object guardam informações de um único usuário, e estão disponíveis para todas as páginas da aplicação. As informações mais comuns armazenadas nas variáveis da sessão são o nome do usuário, identificação e preferências. O server cria novos Session objects para novos usuários, e destrói os Session objects quando a sessão termina.

Iniciando uma Session

Uma sessão é iniciada quando:

  • Um novo usuário requer um arquivo .asp de uma aplicação, e o arquivo Global.asa tem uma procedure Session_OnStart.
  • Um usuário armazena um valor no Session Object
  • O server recebe uma requisição que não contém um cookie SessionID válido.
  • Um usuário requer um arquivo .asp de uma aplicação, e o arquivo Global.asa usa a tag <object> para instanciar um objeto com abrangência para toda sessão.
Terminando uma Session

Uma sessão é encerrada se o usuário não requer uma página em uma aplicação por um determinado período de tempo. Este valor é de 20 minutos de inatividade por definição.

Se você quiser modificar este tempo de inatividade ( inactive timeout), você poderá atribuir um novo valor para a propriedade "Timeout". O exemplo abaixo atribui o intervalo de 5 minutos de inatividade para encerrar a sessão.

<%
Session.Timeout=5
%>

Para terminar uma sessão você poderá usar também o método "Abandon".

<%
Session.Abandon
%>

Armazenar e Recuperar Valores de Variáveis

Você poderá armazenar valores para variáveis na Session Object, desta forma:

<% 
Session("username"="João")
Session("idade"=24)
%>

Você poderá recuperar os valores das variáveis da Session Object, desta forma:

Bem vindo <%Response.Write(Session("username"))%>

A linha acima retorna: "Bem vindo João".

Você poderá armazenar as preferências do usuário na Session Object, e então acessar estas preferências para decidir qual página será retornada para o usuário.

O exemplo abaixo especifica uma versão da página só com textos para o usuário que tem um monitor de baixa resolução:

<%
If Session("screenres"="low") Then 
%> 
Esta é a página na versão texto
<%Else%> 
Esta é a página na versão multimidia
<%End If%>

Remover o Valor das Variáveis

O Contents collection tem tudo das variáveis que foram armazenadas numa sessão. Usando o método Remove, você poderá remover uma variável da sessão.

O exemplo abaixo remove um item da sessão, neste caso a variável "vendas":

<%
If Session.Contents("idade"<=18) then 
Session.Contents.Remove("vendas")
End If 
%>

Você poderá também usar o método RemoveAll para remover todas as variáveis numa sessão:

<%
Session.Contents.RemoveAll()
%>

Verificando o Contents collection

Você poderá executar um comando de repetição ( ex: For... Next ) para pesquisar o Contents collection e ver o que está armazenado nele.

<%
dim i
For Each i in Session.Contents
Response.Write(Session.Contents(i) & "<br>")
Next
%>

Resultado:

João
24

Se você não sabe quantos itens estão armazenados num Contents collection, você poderá usar a propriedade "Count".

<%
dim i
dim j
j=Session.Contents.Count
For i=1 to j
Response.Write(Session.Contents(i) & "<br>")
Next
%>

Resultado:

João
24

Verificando o StaticObjects

Você poderá executar um comando de repetição para pesquisar o StaticObjects e ver os valores de todos os objetos armazenados no Session Object:

<%
dim i
For Each i in Session.StaticObjects
Response.Write(Session.StaticObjects(i) & "<br>")
Next
%>

Transmitido : 25/07/2008 22:15:37  


Outdoor
www.vives.net
Fazenda Verde Sol
5º ENAPET
www.musicalango.com.br
Homenagem ao Cerrado

 

Copyright� 1999-2003Vicente Vives - Asp.br.cf é hospedado na DigiWeb