Problema ASP cerrar sesión

L

Hola, intentaré explicar mi problema de la manera más sencilla posible.

Estoy haciendo un sitio web en ASP.Net y C#. En el sitio quiero mostrar la gente que hay conectada en ese momento, así que no se me ocurre otra manera que en una tabla que he creado en la base de datos, insertar las ID de la gente que se vaya conectando.

Si un usuario pulsa cerrar sesión, se hace un DELETE de su ID en dicha tabla, se borran sus variables de sesión, etc.

Pero si pasan 5 minutos (timeout) o cierra el navegador, la sesión se cerrará y demás, pero su ID seguirá en la base de datos, así que los demás usuarios lo seguirán viendo como conectado... Además de esto, cuando se vuelva a conectar dará un fallo ya que intenta insertar una ID que ya hay en la base de datos.

¿No habría alguna forma modificar las acciones que se hacen en el timeout para poner ahí un DELETE? ¿Se os ocurre alguna otra forma de borrar la ID o de controlar los usuarios conectados?

Gracias de antemano y un saludo !!!.

MTX_Anubis

Sin hhaber visto ASP, esto no te sirve? xD

http://stackoverflow.com/questions/155593/how-can-i-determine-the-number-of-users-on-an-asp-net-site-iis-and-their-info

NeB1

#1 no hace falta, pon un campo DATETIME donde guardas la última vez que ese usuario ha pinchado en alguna sección. Es decir, tu en cada apartado de tu web lo primero que haces es guardar en la base de datos USUARIO - FECHA:TIEMPO

Después simplemente dices que los usuarios conectados son aquellos que el campo fecha tenga un valor de menos de hace 5 minutos por ejemplo.

L

Muchas gracias #3 !!! voy a ver si consigo implementarlo :).

Usuarios habituales

  • lOoks
  • NeB1
  • MTX_Anubis