Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Diseño web | Promoción web | Ganar dinero
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Contar usuarios activos


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


01/1/70 - 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.

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 2 categorias relacionadas
+ 5 comentarios (Añadir)
+ 1 comentario no revisado

 Autoría, licencia y acciones sobre este artículo

Informe de Miguel Angel Alvarez*
Director de DesarrolloWeb.com

Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Taller de ASP
Anterior: Global.ASA

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en Scripts en ASP
+ Entrar en Manuales de ASP


 Comentarios de los visitantes
Los comentarios de los visitantes son para ampliar la información del artículo. Cualquiera puede participar.
Se muestran 5 comentarios revisados

 Comentario de chucho
01/4/02 
Entiendo esto del contador, pero lo he intentado varias veces y no lo he logrado.
Puede que sea el servidor?

Respuesta

No se si lo será, con estos datos es dificl hacerse una idea. Sin embargo, puedes ver si tu proveedor soporta los global.asa, porque si no es así, ya tienes la respuesta.
Otra cosa que puede fallar es que los global.asa a veces sólo se ponen en funcionamiento si se reinicia el servidor o el servicio, cosa que no ocurre todos los días en un proveedor de hosting. Es por ello que las modificaciones en dicho archivo pueden no hacerse patentes hasta pasado un tiempo.

 Comentario de Nicolás
31/5/02 
A mi tampoco me funciona, el servidor que uso es www.cfm-resources.com, que ofrese asp gratis.
Que es el Global.ASA?

Respuesta:

El ejemplo está probado y vuelto a probar. Funciona bien, pero no se si vuestro proveedor permite el trabajo con el global.asa. Por cierto hemos explicado lo que es en nuestro taller de asp, en esta dirección:
http://www.desarrolloweb.com/articulos/295.php?manual=11

Otra cosa, las modificaciones en el global.asa no tienen porque verse instantáneas.


 Comentario de miguel angel
11/9/02 
Funciona pero como hacerle para que al visitante numero 1 le actulize cuando mas han entrado. Osea yo me conecto a otra maquina y me dice que soy el 2 pero en la mia me sigue diciendo que solo hay 1.

Respuesta

Al actualizar la página que te dice que solo hay un usuario (Después de que entre el segundo) debería decirte ya que los usuarios conectados son dos.

 Comentario de Fr@Nc3$c0
12/10/02 
He probado esto con el global.asa. Mis diferentes tests marcan lo mismo. La carga de usuarios es correcta, abro diferentes navegadores (5) y tengo 5 usuarios activos refrescando las ventanas abiertas.

Pero el problema llega cuando quiero ver restar los usuarios activos, cierro 4 navegadores, y en la restante la refresco (F5) ésta sigue teniendo 5 usuarios activos (de las ventanas anteriores.

Esta prueba la he realizado en local (ISS) y con proveedor ASP. El resultado ha sido el mismo, puede ayudarme para que reste como es debido?

RESPUESTA

Resulta que las restas se producen cuando finalizan las sesiones. Aunque cierres el navegador, el servidor no se entera de ello y hasta que la sesión de ese usuario no caduca (por defecto a los 20 minutos) no se resta el usuario.

Puedes hacer una prueba para ver si al cerrar la sesión se resta o no ese usuario creando una página que cierre la sesión automáticamente, con session.abandon


 Comentario de Ruben
05/11/03 
El codigo funciona correctamente y es muy sencillo, gracias.

Añadir para el usuario que se quejaba de finalizar la session de que existe una variable para el global asa, que siempre puede ser modificada desde cualquier pàgina de asp que és la Session.Timeout a la cual podemos darle el valor del numero entero de minutos que queremos que dure una session (internacionalmente por defecto 20 minutos).

Añadir tambien que yo para una aplicación para una empresa, me interesaba saber que usuarios eran los conectados, por eso al iniciar session en la tabla de usuarios tenia un campo boleano "conn" en que el se ponia a true al iniciar session y se ponia en false al finalizarla, de esta forma haciendo una select where conn=true me decia los usuarios activos.

Saludos y enhorabuena por los articulos, un lugar de p--- madr- con todos esos consejos que no salen en ningun libro de programación ;).

Añadir un comentario al artículo Añadir un comentario del artículo
 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se ha encontrado un comentario sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Taller de ASP
Categorías
+Scripts en ASP
+Manuales de ASP

Lectura recomendada

Compra este libro en Agapea, la librería urgente a domicilio.

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia