Global.asaO global.asa é um arquivo opcional em uma aplicação ASP. Podemos trabalhar normalmente sem ele, porém seu uso nos abre um leque de opções que podem deixar nossas aplicações mais robustas e dinâmicas, utilizado para centralizar em um único local a declaração de objetos e procedimentos do tipo Session e Application. O conteúdo deste arquivo não é visualizado pelos visitantes do site e ele deve estar localizado no diretório raiz da sua aplicação. O arquivo global.asa contém quatro eventos: Application_OnStart, Application_OnEnd, Session_OnStart, Session_OnEnd. Estrutura de um arquivo global.asa: <script language=vbscript runat=server> SUB Application_OnStart Este evento é executado na primeira vez que uma página ASP é chamada dentro da sua aplicação. END SUB SUB Application_OnEnd Este evento é chamado quando a aplicação termina. Isto pode ser ocasionado através da ocorrência de um tempo limite de inatividade ou a parada do web site. END SUB SUB Session_OnStart Este evento é executado para cada usuário quando ele faz a primeira requisição de uma página na aplicação. END SUB SUB Session_OnEnd Este evento é chamado quando acaba a sessão de um usuário. Isto pode ser ocasionado por um término explícito (método session.abandon) ou pela ocorrência de um tempo limite de inatividade da sessão. END SUB </script> Agora que você teve uma idéia de como funciona cada evento do global.asa, o que devemos fazer é colocar o nosso código dentro de cada um dos eventos. Veja o exemplo abaixo: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | <% <script language=vbscript runat=server> SUB Application_OnStart Este evento é executado na primeira vez que uma página ASP é chamada dentro da sua aplicação. Define o tempo de inatividade de cada sessão Session.Timeout=3 O método "Lock" bloqueia a variável Application para que possa ser atualizada Se não a bloquearmos, ela não será atualizada Application.Lock Alteramos o valor inicial da variável de aplicação "Usuarios_Ativos" para zero Application("Usuarios_Ativos") = 0 Desbloqueamos a variável Application Application.UnLock END SUB SUB Application_OnEnd Este evento é chamado quando a aplicação termina. Isto pode ser ocasionado através da ocorrência de um tempo limite de inatividade ou a parada do web site. END SUB SUB Session_OnStart Este evento é executado para cada usuário quando ele faz a primeira requisição de uma página na aplicação. Toda vez que um usuário entrar no site, vamos incrementar a variável "Usuarios_Ativos" Application.Lock Application("Usuarios_Ativos")=Application("Usuarios_Ativos")+1 Application.UnLock END SUB SUB Session_OnEnd Este evento é chamado quando acaba a sessão de um usuário. Isto pode ser ocasionado por um término explícito (método session.abandon) ou pela ocorrência de um tempo limite de inatividade da sessão. Quando um usuário abandona o site, decrementamos o valor da variável "Usuarios_Ativos" Application.Lock Application("Usuarios_Ativos")=Application("Usuarios_Ativos")-1 Application.UnLock END SUB </script> %> | Este exemplo é utilizado para a visualização de visitantes de um site no mesmo instante. - Na linha 3 temos o primeiro evento Application_OnStart, definimos o tempo de time-out de cada sessão de usuário no site e inicializamos a variável de aplicação "Usuarios_Ativos" em zero. Este evento só ocorre uma vez, quando a aplicação é iniciada. - Na linha 28 declaramos o evento Session_OnStart, que ocorre cada vez que um novo usuário entra no site. Então, vamos incrementar o valor da nossa variável "Usuarios_Ativos" como descrito na linha 35. - Na linha 40 o evento Session_OnEnd ocorre no momento que um usuário abandona o site. Neste caso, isso é ocasionado quando ocorre o tempo de abandono definido na propriedade Session.TimeOut no evento Application_OnStart. Na saída do site, diminuímos de 1 o valor da variável "Usuarios_Ativos". |