Contar usuários ativos

Vemos um exemplo de Global.ASA que nos serve para contar os usuários ativos que temos em um web site em um dado momento.

Por Miguel Angel Alvarez - Tradução de JML


Publicado em: 01/9/05
Valorize este artigo:
Podemos ver um exemplo de global.asa utilizado para levar o controle dos usuários que acessam à página web. A conta nos informa do número de usuários que estão ativos no site, ou seja, o número de sessões abertas.

Referência: O arquivo global.asa, sua utilidade e funcionamento, está resumido em outro artigo de Workshop de ASP. http://criarweb.com/artigos/408.php

<SCRIPT LANGUAGE=VBScript RUNAT=server>

sub application_onStart()
'sentenças que se executam ao entrar o primeiro usuário
application("num_usuarios")=0
end sub

sub session_onStart()
'sentenças a executar ao sair o último usuário
application.lock
application("num_usuarios") = application("num_usuarios") + 1
application.unlock
end sub

sub session_onEnd()
'sentenças que se executam cada vez que entra um usuário
application.lock
application("num_usuarios") = application("num_usuarios") - 1
application.unlock
end sub

</SCRIPT>


é muito fácil de entender, quando se inicia a aplicação se inicia em zero a variável que conta o número de usuários ativos. Não é necessário bloquear o objeto application porque neste momento não se têm processos concorrentes que pudessem estar modificando a aplicação, porque ainda não chegou ninguém. No inicio de uma sessão se incrementa em um o número de usuários e no final decresce a um outra vez. Não é necessário definir ações ao acabar a aplicação porque a variável de aplicação que salva o número de usuários desaparece sozinha ao acabar a aplicação.

Visualizar o número de usuários

Agora, se desejarmos ver o número de usuários em qualquer momento, o único que teremos que fazer é pegar na página o conteúdo da variável de aplicação que conta o número de usuários, em um script parecido ao seguinte.

<html>
<head>
<title>Mostro usuários ativos</title>
</head>

<body>
<h1>Usuários ativos
<%
application.lock
response.write application("num_usuarios")
application.unlock
%>
</h1>

</body>
</html>


Não têm nenhuma dificuldade. Se quisermos podemos prová-lo em nosso computador. Já sabemos que o global.asa se coloca no diretório raiz de uma aplicação ou em um diretório virtual que tivermos criado com um servidor como Personal Web Server. Se quisermos ver como se incrementa o número de sessões sem necessidade de que outros usuários se conectem podemos entrar na página com navegadores distintos e se tomarão como sessões distintas embora o computador onde se acesse seja o mesmo.






Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato