Numero de usuarios activos en ASP

24/Sep/2009 ASP , , , , ,

La idea de este ejemplo es la de poder mostrar el número de usuarios activos que existen dentro de una Web simultáneamente. Para poder llevar a cabo este ejemplo deberemos de utilizar el archivo global.asa y una variable de aplicación que lleve la cuenta de los usuarios activos.

Hay que recordar que el archivo global.asa se ejecuta cada vez que un usuario abre o cierra una sesión o bien cuando abrimos o cerramos la aplicación servidor. Cada vez que el usuario abra una sesión en nuestra Web se ejecutará el procedimiento Session_OnStart, en el cual incrementaremos la variable de aplicación. Cuando un usuario cierra la sesión se ejecuta el procedimiento Session_OnEnd donde decrementaremos la variable de aplicación.

  1.  
  2. <SCRIPT LANGUAGE="VBScript" RUNAT="Server">
  3. Sub Session_OnStart
  4. ...
  5. End Sub
  6.  
  7. Sub Session_OnEnd
  8. ...
  9. End Sub
  10. </SCRIPT>
  11.  

Para acceder a una variable de aplicación utilizamos la variable application, la cual recibirá como parámetro la variable. En este caso la variable será "usuariosActivos".

  1.  
  2. <SCRIPT LANGUAGE="VBScript" RUNAT="Server">
  3. Sub Session_OnStart
  4. application.Lock
  5. application("usuariosActivos") = application("usuariosActivos")+1
  6. application.UnLock
  7. End Sub
  8.  
  9. Sub Session_OnEnd
  10. application.Lock
  11. application("usuariosActivos") = application("usuariosActivos")-1
  12. application.UnLock
  13. End Sub
  14. </SCRIPT>
  15.  

Cuando utilicemos la variable de aplicación deberemos de realizar un bloqueo sobre la misma con application.lock y application.unlock, ya que dicha variable esta disponible para todos los usuarios y podríamos tener problemas de integridad.

Para que la variable de aplicación tenga un valor inicial, este se le daremos en el archivo global.asa, en el procedimiento Application_OnStart. El procedimiento Application_OnStart es el que se ejecuta cuando se arranca la aplicación por primera vez.

  1.  
  2. <SCRIPT LANGUAGE="VBScript" RUNAT="Server">
  3. Sub Application_OnStart
  4. application("usuariosActivos") = 0
  5. End Sub
  6. </SCRIPT>
  7.  

A la hora de mostrar el valor de la variable de aplicación, simplemente necesitaremos un Response.Write().

Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D