Foros del Web » Programando para Internet » ASPX (.net) »

evento al cerrar el navegador??

Estas en el tema de evento al cerrar el navegador?? en el foro de ASPX (.net) en Foros del Web. Hola! estoy creando una web con un listado de los usuarios activos en ese momento, me gustaria saber como hacer para enviar un evento para ...
  #1 (permalink)  
Antiguo 11/03/2008, 19:26
 
Fecha de Ingreso: marzo-2008
Mensajes: 69
Antigüedad: 16 años, 1 mes
Puntos: 0
evento al cerrar el navegador??

Hola!
estoy creando una web con un listado de los usuarios activos en ese momento, me gustaria saber como hacer para enviar un evento para desactivar un usuario al cerrar el navegador, ya que solo consiguo hacerlo mediante un boton SALIR, pero claro si un usuario se desconecta cerrando el navegador tendre una lista irreal??
Gracias y espero que alguien tenga alguna ida
  #2 (permalink)  
Antiguo 11/03/2008, 19:58
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: evento al cerrar el navegador??

y porq no manejas q al fin de sesion se elimine de tu lista de usuarios actuales en tu global.asax

saludos
peter
  #3 (permalink)  
Antiguo 12/03/2008, 03:47
 
Fecha de Ingreso: marzo-2008
Mensajes: 69
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: evento al cerrar el navegador??

Si tengo este metodo
iface.desactivarUsuario(baja);
que recibe el nombre de usuario i hace un update en la tabla usuarios con activo=0, como hago para ejecutar este metodo desde el global.asax en void Application_End(object sender, EventArgs e) ??
gracias
  #4 (permalink)  
Antiguo 12/03/2008, 05:08
Avatar de Javier Santamaria  
Fecha de Ingreso: julio-2007
Mensajes: 296
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: evento al cerrar el navegador??

Simplemente llamalo, pero no se si solucionara lo que quieres, ya que es una de las paradojas mas complicadas de solucionar desde .NET. Lo mas comun es eliminar los usuarios de las listas cuando su sesion se les agota (session_end), pero claro si tienes tiempos de sesion muy altos los datos pueden ser bastante diferentes a la realidad.

Saludos
  #5 (permalink)  
Antiguo 12/03/2008, 06:17
 
Fecha de Ingreso: marzo-2008
Mensajes: 69
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: evento al cerrar el navegador??

He conseguido con esto hacer que me haga algo al cerrar el navegador

function window_onbeforeunload()
{
window.navigate('desconectar.aspx?nUsuarioId=usuar io');
}
como hago para desde un aspx.cs enviarle un parametro a esta function con el nombre de usuario a desconectar
  #6 (permalink)  
Antiguo 12/03/2008, 06:42
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: evento al cerrar el navegador??

Yo me iria por el Session_End en el global.asax como dice javier.

si quieres mandar por javascript to id de usuario es mas inseguro porq estas intentando desde codigo cliente primero acceder a una variable de sesion error #1 no puedes acceder a variables de sesion directamente, lo puedes hacer si lo tienes en cookies o campos ocultos y no creo que quieras q cualquiera pueda ver el id de usuario por cuestiones de seguridad.

la mejor jugada es meter tu codigo q elimina al usuario de los activos el en Session_End del global.asax

asi garantizas q si tu usuario cierra el navegador en cualquier pagina del sitio lo eliminaras de usuarios en linea.

saludos
peter
  #7 (permalink)  
Antiguo 12/03/2008, 06:50
 
Fecha de Ingreso: marzo-2008
Mensajes: 69
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: evento al cerrar el navegador??

Y en el global.asax directamente pongo
iface.desactivarUsuario(idUsuario);
como haría para pasar la idUsuario de la pagina aspx?
  #8 (permalink)  
Antiguo 12/03/2008, 07:09
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: evento al cerrar el navegador??

mira yo haria algo asi

en mi Application_Start
List <int> users= new List<int>();
Application.Add("usersOnline",users);

y en el

Session_Ends

Toma el valor de tu id de una variable de session

List <int> online=(List<int>) Application["usersOnline"];
online.Remove(int.Parse(Session["usuarioId"].ToString());
Application["usersOnline"]=online;

Session["usuarioId"] garantiza q asignas un valor a esta variable despues de q hace login.

saludos
peter
  #9 (permalink)  
Antiguo 12/03/2008, 07:14
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: evento al cerrar el navegador??

Revisa este articulo tiene mas o menos lo mismo q te comento

http://www.codeproject.com/KB/ajax/W...ineAspNet.aspx

saludos
peter
  #10 (permalink)  
Antiguo 28/08/2011, 07:31
 
Fecha de Ingreso: agosto-2011
Mensajes: 2
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: evento al cerrar el navegador??

Con solo PHP y javascript, usando Iframes, se puede hacer algo parecido??

Última edición por akerlobo; 28/08/2011 a las 07:40
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




La zona horaria es GMT -6. Ahora son las 13:20.