Objeto Sessão ASP
- Página Anterior Cookies ASP
- Próxima Página Aplicação ASP
O objeto Session é usado para armazenar informações do usuário. As variáveis armazenadas no objeto session mantêm informações de um único usuário e estão disponíveis em todas as páginas de um aplicativo.
Objeto Session
Quando você opera um aplicativo, você o abre, faz algumas mudanças e então o fecha. Isso é muito semelhante a uma conversa (Session). O computador sabe quem você é. Ele sabe o momento em que você abriu e fechou o aplicativo. Mas há um problema na Internet: devido ao fato de que os endereços HTTP não podem manter o estado, o servidor web não sabe quem você é nem o que você fez.
O ASP resolveu esse problema criando um cookie único para cada usuário. O cookie é transmitido para o cliente e contém informações que identificam o usuário. Este tipo de interface é chamada de objeto Session.
O objeto Session é usado para armazenar informações sobre o usuário ou para alterar as configurações de sessão de um usuário. As variáveis armazenadas no objeto Session contêm informações de um único usuário e são acessíveis em todas as páginas do aplicativo. As informações armazenadas no objeto Session são geralmente nome, id e parâmetros. O servidor cria uma nova sessão para cada novo usuário e revoga o objeto de sessão quando a sessão expira.
Quando começa a sessão?
A sessão começa:
- Quando um novo usuário solicita um arquivo ASP e o arquivo Global.asa chama a subrotina Session_OnStart;
- Quando um valor é armazenado na variável de sessão;
- Quando um usuário solicita um arquivo ASP e o Global.asa utiliza a tag <object> para exemplificar um objeto através do escopo da sessão;
Quando a sessão termina?
Se o usuário não solicitar ou atualizar a página no aplicativo dentro do tempo especificado, a sessão será encerrada. O valor padrão é 20 minutos.
Se você desejar ajustar o intervalo de tempo de timeout para um valor maior ou menor, você pode ajustar Timeout Atributo.
O exemplo a seguir define um intervalo de tempo de timeout de 5 minutos:
<% Sessão.Timeout=5 %>
Para encerrar a sessão imediatamente, você pode usar Abandonar Método:
<% Sessão.Abandonar %>
Atenção:O principal problema ao usar sessão é determinar quando ela deve terminar. Não sabemos se a última solicitação do usuário foi a última solicitação. Portanto, não sabemos por quanto tempo a sessão deve "viver". Esperar por uma sessão ociosa por muito tempo pode esgotar os recursos do servidor. No entanto, se a sessão for excluída过早, o usuário terá que começar novamente várias vezes, pois o servidor já excluiu todas as informações. Encontrar um intervalo de tempo adequado para o timeout é difícil.
Dica:Se você estiver usando variáveis de sessão, não armazene dados em grande quantidade nelas.
Armazenamento e recuperação de variáveis de sessão
A maior vantagem do objeto Session é que é possível armazenar variáveis nele, para que as páginas subsequentes possam lê-las, sua aplicação é muito ampla.
O exemplo a seguir atribui "Donald Duck" à variável de sessão chamada username e atribui "50" à variável de sessão chamada age:
<% Session("nome_de_usuário")="Donald Duck" Session("idade")=50 %>
Uma vez que o valor seja armazenado na variável de sessão, ele pode ser usado por qualquer página do aplicativo ASP:
Bem-vindo <%Response.Write(Session("nome_de_usuário"))%>
O resultado da linha de código acima é: "Bem-vindo Donald Duck".
Também é possível salvar parâmetros do usuário no objeto de sessão e, em seguida, acessar esses parâmetros para determinar qual página retornar ao usuário.
O exemplo a seguir determina que, se o usuário estiver usando uma resolução de显示器 baixa, será retornada a versão de texto da página:
<%Se Session("screenres")="low" Então%> Esta é a versão de texto da página <%Senão%> Esta é a versão multimídia da página <%Fim Se%>
Remover variável de sessão
A coleção contents contém todas as variáveis de sessão.
Você pode remover variáveis de sessão usando o método remove.
No exemplo a seguir, se o valor da variável de sessão "idade" for menor que 18, remova a variável de sessão "sale":
<% Se Session.Contents("idade")<18 então Session.Contents.Remove("sale") Fim Se %>
Se precisar remover todas as variáveis da sessão, use o método RemoveAll:
<% Session.Contents.RemoveAll% %>
Percorrer a coleção contents
A coleção contents contém todas as variáveis de sessão. Você pode percorrê-la para ver quais variáveis estão armazenadas:
<% Session("nome_de_usuário")="Donald Duck" Session("idade")=50 dim i For Each i in Session.Contents Response.Write(i & "<br />") Next %>
Resultado:
nome_de_usuário idade
Se precisar saber o número de itens na coleção contents, você pode usar a propriedade count:
<% dim i dim j j=Count de Session.Contents Response.Write("Variáveis de sessão: " & j) Para i=1 até j Response.Write(Session.Contents(i) & "<br />") Next %>
Resultado:
Variáveis de sessão: 2 Donald Duck 50
Percorrer a coleção StaticObjects
Pode-se percorrer a coleção StaticObjects para ver os valores de todos os objetos armazenados no objeto sessão:
<% dim i For Each i in Session.StaticObjects Response.Write(i & "<br />") Next %>
- Página Anterior Cookies ASP
- Próxima Página Aplicação ASP