Numero de usuarios activos en ASP

24/Sep/2009 ASP , , , , , Deja un comentario

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

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*