Objetos Application e Session

Objetos Application e Session


O objeto Application foi criado para armazenar propriedades (valores) ligados a um conjunto de usuários. No caso, os visitantes do site, de um modo geral. Como exemplo, podemos citar o número total de visitantes no site a partir de uma determinada data, ou o número de visitantes online no site.

O objeto Session foi criado para armazenar propriedades (valores) ligados a cada visitante, individualmente. Como exemplo, podemos citar o carrinho de compras de um site de comércio online.

Uma Session é criada quando o visitante entra no site (cada visitante tem uma session e cada session recebe um ID), e é destruída quando o visitante sai do site (seja por logoff explícito ou por TimeOut). Já uma Application é iniciada ao haver o primeiro pedido de acesso ao objeto Application, e é encerrado quando o servidor for desligado.

Todo o código que se deseja executar ao criar ou destruir uma session, bem como uma Application devem estar contidos no arquivo global.asa, um arquivo texto no formato abaixo demonstrado, que deve ser colocado no diretório raiz do site.

As variáveis do objeto Application e do objeto Session são armazenadas no servidor, mas é necessário que o browser aceite cookies, pois um cookie com o ID da sessão é criado no computador do visitante, para identificá-lo.

Veja o exemplo abaixo:
Listagem do arquivo global.asa

 

 


<SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER>

Sub Application_OnStart
Application("totaldeusuarios") = 0
Application("datainicial") = now
Application("usuariosonline") = 0
End Sub

Sub Application_OnEnd
End Sub

Sub Session_OnStart
Session.TimeOut = 20
Application.Lock
Application("totaldeusuarios") = Application("totaldeusuarios") + 1
Application("usuariosonline") = Application("usuariosonline") + 1
Application.Unlock
End Sub

Sub Session_OnEnd
Application.Lock
Application("usuariosonline") = Application("usuariosonline") - 1
Application.Unlock
End Sub

</SCRIPT>



 

Abaixo, o código de uma página que armazena um valor numa variável de sessão e mostra o total de usuários conectados e o total de visitantes no site.



 


<html><head><title>Application e Session</title></head>
<% Session("variavelqualquer") = "Este valor foi inserido na variável de sessão de nome variavelqualquer" %>
<body>

Número da Sessão: <% =Session.SessionID%>

Existem no momento <%=Application("usuariosonline")%> usuários conectados.

Total de visitantes no site desde <%=Application("datainicial")%> : <%=Application("totaldeusuarios")%>

Abaixo, a string que foi inserida na variavel variavelqualquer

<%=Session("variavelqualquer")%>

<% Session.Abandon %>
</body></html>

 

Os comandos Lock e Unlock servem para garantir que somente um visitante estará alterando as variáveis por vez. O comando Lock bloqueia a acesso de outros visitantes às variáveis, e o Unlock desbloqueia.

O comando Session.SessionID retorna o valor do ID da sessão.
O comando Session.TimeOut determina qual o tempo máximo, em minutos, de inatividade do visitante até que a sessão possa ser considerada abandonada.

O comando Session.Abandon termina a sessão iniciada explicitamente (não é necessário esperar o vencimento do TimeOut para considerar a sessão abandonada). A procedure Application_OnStart contém a rotina que será rodada quando o objeto Application for iniciado.
 

A procedure Application_OnEnd contém a rotina que será executada quando o objeto Application for terminado (qdo. o servidor for desligado).

A procedure Session_OnStart contém o código que será rodado quando uma sessão for iniciada.

A procedure Session_OnEnd contém o código que será rodado quando uma sessão for terminada (por timeout ou logoff explícito).

  1. Nome: