> Manuales > Taller de ASP

Vemos un ejemplo de Global.ASA que nos sirve para contar los usuarios activos que tenemos en un sitio web en un momento dado.

Podemos ver un ejemplo de global.asa utilizado para llevar el control de los usuarios que acceden a la página web. La cuenta nos informa del número de usuarios que están activos en el sitio, es decir del número de sesiones abiertas.

Referencia: El archivo global.asa, su utilidad y funcionamiento, ha quedado resumido en otro taller de ASP. http://www.desarrolloweb.com/articulos/295.php?manual=11

<SCRIPT LANGUAGE=VBScript RUNAT=server>

sub application_onStart()
'sentencias que se ejecutan al entrar el primer usuario
application("num_usuarios")=0
end sub

sub session_onStart()
'sentencias a ejecutar al irse el último usuario
application.lock
application("num_usuarios") = application("num_usuarios") + 1
application.unlock
end sub

sub session_onEnd()
'sentencias que se ejecutan cada vez que entra un usuario
application.lock
application("num_usuarios") = application("num_usuarios") - 1
application.unlock
end sub

</SCRIPT>


Es muy fácil de entender, cuando de inicia la aplicación se inicializa a cero la variable que cuenta el número de usuarios activos. No es necesario bloquear el objeto application porque en este momento no se tiene procesos concurrentes que pudiesen estar modificando la aplicación, por que aun no ha llegado nadie. En el inicio de una sesión se incrementa en uno el número de usuarios y en el fina se decrementa en uno. No hace falta definir acciones al acabar la aplicación porque la variable de aplicación que guarda el numero de usuarios desaparece sola al acabar la aplicación.

Visualizar el número de usuarios

Ahora, si deseamos ver el número de usuarios en cualquier momento lo único que tendremos que hacer es sacar en la página el contenido de la variable de aplicación que cuenta el número de usuarios, en un script parecido al siguiente.

<html>
<head>
<title>Muestro usuarios activos</title>
</head>

<body>
<h1>Usuarios activos
<%
application.lock
response.write application("num_usuarios")
application.unlock
%>
</h1>

</body>
</html>


No tiene tampoco ninguna dificultad. Si queremos lo podemos probar en nuestro ordenador. Ya sabemos que el global.asa se coloca en el directorio raíz de una aplicación o en un directorio virtual que hayamos creado con un servidor como Personal Web Server. Si queremos ver como se incrementa el número de sesiones sin necesidad de que otros usuarios se conecten podemos entrar en la página con navegadores distintos y se tomarán como sesiones distintas aunque el ordenador desde donde se accede es el mismo.

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online Escu...

Manual