Foros del Web » Programando para Internet » ASP Clásico »

Listar usuarios conectados

Estas en el tema de Listar usuarios conectados en el foro de ASP Clásico en Foros del Web. Buenos días: Tengo un pequeño vacío de conocimiento. Necesito crear un listado de los usuarios activos. Para ello he usado este script en el global.asa ...
  #1 (permalink)  
Antiguo 10/08/2011, 10:59
Avatar de freesoftwarrior  
Fecha de Ingreso: marzo-2006
Mensajes: 362
Antigüedad: 18 años, 1 mes
Puntos: 10
Listar usuarios conectados

Buenos días:
Tengo un pequeño vacío de conocimiento. Necesito crear un listado de los usuarios activos. Para ello he usado este script en el global.asa

Cita:
<script language="VBScript" RUNAT="Server">
Sub Application_OnStart
Application("ActiveUsers") = 0
End Sub

Sub Session_OnStart
Session.Timeout = 20
Session("Start") = Now
Application.Lock
Application("ActiveUsers") = Application("ActiveUsers") + 1
Application.UnLock
End Sub

Sub Session_OnEnd
Application.Lock
Application("ActiveUsers") = Application("ActiveUsers") - 1
Application.UnLock
End Sub
</script>
y por supuesto lo invoco con un simple

Cita:
<%= Application("ActiveUsers") %>
Pero esto sólo me muestra la cantidad, no me permite realizar un listado. Se que con la propiedad Session.SessionID puedo obtener el ID único de cada sesión, pero ¿cómo puedo hacer para que me muestre los ID de todas las sesiones activas?. No he podido encontrar una propiedad del objeto session que me permita hacer eso, al menos no hasta ahora.

Muchas gracias por el apoyo.

Un saludo desde Lima, Perú
  #2 (permalink)  
Antiguo 11/08/2011, 10:08
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 1 mes
Puntos: 31
Busqueda Respuesta: Listar usuarios conectados

Buenas tardes:

Bueno creo que podrías resolverlo así:

En la función Application_OnStart colocamos el codigo:
Código ASP:
Ver original
  1. Sub Application_OnStart
  2.   Dim aListaAux()
  3.   Redim aListaAux(0)
  4.   Application("ListaUsuarios") = aListaAux
  5. End Sub

En la función Session_OnStart:
Código ASP:
Ver original
  1. Sub Session_OnStart
  2.     aLista = Application("ListaUsuarios")
  3.     aLista(ubound(aLista))= Session.SessionID
  4.     Redim Preserve aLista(ubound(aLista) +1)
  5.     Application("ListaUsuarios") = aLista
  6. End Sub


y luego en alguna página asp:
Código ASP:
Ver original
  1. if IsArray(Application("ListaUsuarios")) then
  2.       aListaUsuarios = Application("ListaUsuarios")
  3.       for i = 0 to UBound(aListaUsuarios)
  4.           Response.Write(aListaUsuarios(i) & "<BR>")
  5.       Next
  6.    Else
  7.       Response.Write("Application('aListaUsuarios') no es una matriz! <BR>")
  8.    end if


Aunque falta la parte donde se elimina la sesión.
Esto se podría hacer en la función Sub Session_OnEnd
Recorriendo el array y buscando la sesión a eliminar.

Saludos!
  #3 (permalink)  
Antiguo 12/08/2011, 19:19
Avatar de freesoftwarrior  
Fecha de Ingreso: marzo-2006
Mensajes: 362
Antigüedad: 18 años, 1 mes
Puntos: 10
Respuesta: Listar usuarios conectados

Muchas gracias. Funcionó de mil maravillas. Ahora sólo me queda ver como elimino las sesiones cerradas.

Etiquetas: conectados, listar, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:28.