Tutoriais ASP

ASP HOME

Tutorial WP

Introdução às páginas da Web Navalha de páginas da Web Layout de páginas da Web Pastas de páginas da Web Páginas da Web globais Formulários de páginas da Web Objetos de páginas da Web Arquivos de páginas da Web Bancos de dados de páginas da Web Assistentes de páginas da Web Páginas da Web WebGrid Gráficos de páginas da Web E-mail de páginas da Web Segurança de páginas da Web Publicação de páginas da Web Exemplos de páginas da Web Aulas de páginas da Web

Máquina de barbear ASP.NET

Introdução à navalha Sintaxe Razor Variáveis ​​Razor C# Loops Razor C# Razor C# Logic Variáveis ​​Razor VB Loops Razor VB Lógica do Razor VB

ASP Clássico

Introdução ASP Sintaxe ASP Variáveis ​​ASP Procedimentos ASP Condicionais ASP Loop ASP Formulários ASP Cookies ASP Sessão ASP Aplicativo ASP ASP #incluir ASP Global.asa ASP AJAX e-mail ASP Exemplos ASP

Referência ASP

Funções ASP VB Palavras-chave ASP VB Resposta ASP Solicitação ASP Aplicativo ASP Sessão ASP Servidor ASP Erro ASP Sistema de arquivos ASP Fluxo de texto ASP Unidade ASP Arquivo ASP Pasta ASP Dicionário ASP ASP AdRotator ASP BrowserCap Vinculação de conteúdo ASP Rotador de conteúdo ASP Referência Rápida ASP

Tutorial ADO

Introdução ao ADO ADO Connect Conjunto de registros ADO Exibição ADO Consulta ADO ADO Sort Adicionar ADO Atualização ADO Excluir ADO Demonstração ADO Aceleração ADO

Objetos ADO

Comando ADO Conexão ADO Erro ADO Campo ADO Parâmetro ADO Propriedade ADO Registro ADO Conjunto de registros ADO Fluxo ADO Tipos de dados ADO

Objeto de Sessão ASP


Um objeto Session armazena informações ou altera as configurações de uma sessão de usuário.


O objeto Sessão

Quando você está trabalhando com um aplicativo em seu computador, você o abre, faz algumas alterações e depois o fecha. Isso é muito parecido com uma Sessão. O computador sabe quem você é. Ele sabe quando você abre o aplicativo e quando você o fecha. Porém, na internet há um problema: o servidor web não sabe quem você é e o que você faz, pois o endereço HTTP não mantém o estado.

O ASP resolve esse problema criando um cookie exclusivo para cada usuário. O cookie é enviado ao computador do usuário e contém informações que identificam o usuário. Essa interface é chamada de objeto Session.

O objeto Session armazena informações ou altera as configurações de uma sessão de usuário.

As variáveis ​​armazenadas em um objeto Session contêm informações sobre um único usuário e estão disponíveis para todas as páginas em um aplicativo. Informações comuns armazenadas em variáveis ​​de sessão são nome, id e preferências. O servidor cria um novo objeto Session para cada novo usuário e destrói o objeto Session quando a sessão expira.


Quando começa uma sessão?

Uma sessão começa quando:

  • Um novo usuário solicita um arquivo ASP e o arquivo Global.asa inclui um procedimento Session_OnStart
  • Um valor é armazenado em uma variável de sessão
  • Um usuário solicita um arquivo ASP e o arquivo Global.asa usa a marca <object> para instanciar um objeto com escopo de sessão

Quando termina uma sessão?

Uma sessão termina se um usuário não tiver solicitado ou atualizado uma página no aplicativo por um período especificado. Por padrão, isso é 20 minutos.

Se você deseja definir um intervalo de tempo limite menor ou maior que o padrão, use a propriedade Tempo limite .

O exemplo abaixo define um intervalo de tempo limite de 5 minutos:

<%
Session.Timeout=5
%>

Use o método Abandon para encerrar uma sessão imediatamente:

<%
Session.Abandon
%>

Nota: O principal problema com as sessões é QUANDO elas devem terminar. Não sabemos se a última solicitação do usuário foi a final ou não. Portanto, não sabemos por quanto tempo devemos manter a sessão "viva". Esperar muito tempo por uma sessão ociosa consome recursos no servidor, mas se a sessão for excluída muito cedo, o usuário terá que começar tudo de novo porque o servidor excluiu todas as informações. Encontrar o intervalo de tempo limite certo pode ser difícil!

Dica: Armazene apenas PEQUENAS quantidades de dados em variáveis ​​de sessão!



Armazenar e recuperar variáveis ​​de sessão

A coisa mais importante sobre o objeto Session é que você pode armazenar variáveis ​​nele.

O exemplo abaixo definirá o nome de usuário da variável Session como "Donald Duck" e a idade da variável Session como "50":

<%
Session("username")="Donald Duck"
Session("age")=50
%>

Quando o valor é armazenado em uma variável de sessão, ele pode ser acessado em QUALQUER página no aplicativo ASP:

Welcome <%Response.Write(Session("username"))%>

A linha acima retorna: "Bem-vindo Pato Donald".

Você também pode armazenar as preferências do usuário no objeto Session e, em seguida, acessar essa preferência para escolher qual página retornar ao usuário.

O exemplo abaixo especifica uma versão somente texto da página se o usuário tiver uma resolução de tela baixa:

<%If Session("screenres")="low" Then%>
  This is the text version of the page
<%Else%>
  This is the multimedia version of the page
<%End If%>

Remover variáveis ​​de sessão

A coleção Contents contém todas as variáveis ​​de sessão.

É possível remover uma variável de sessão com o método Remove.

O exemplo abaixo remove a variável de sessão "sale" se o valor da variável de sessão "age" for menor que 18:

<%
If Session.Contents("age")<18 then
  Session.Contents.Remove("sale")
End If
%>

Para remover todas as variáveis ​​em uma sessão, use o método RemoveAll:

<%
Session.Contents.RemoveAll()
%>

Percorrer a coleção de conteúdo

A coleção Contents contém todas as variáveis ​​de sessão. Você pode percorrer a coleção Contents para ver o que está armazenado nela:

<%
Session("username")="Donald Duck"
Session("age")=50

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

Resultado:

username
age

Se você não souber o número de itens na coleção Contents, poderá usar a propriedade Count:

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

Resultado:

Session variables: 2
Donald Duck
50

Percorrer a coleção StaticObjects

Você pode percorrer a coleção StaticObjects para ver os valores de todos os objetos armazenados no objeto Session:

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