Asp – Contar usuários ativos

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.

<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.

Fonte: http://www.criarweb.com/artigos/423.php

Deixe um comentário