Foros del Web » Programación para mayores de 30 ;) » .NET »

Actualizar BD al cerrar la aplicación

Estas en el tema de Actualizar BD al cerrar la aplicación en el foro de .NET en Foros del Web. Hola que tal, tengo un pequeño problema que no he podido solucionar. En la Web App que estoy desarrollando tengo una tabla de bitacoras en ...
  #1 (permalink)  
Antiguo 12/05/2005, 09:20
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
Actualizar BD al cerrar la aplicación

Hola que tal,
tengo un pequeño problema que no he podido solucionar.
En la Web App que estoy desarrollando tengo una tabla de bitacoras en donde se guardan
todos los accesos que un usuario tiene al sistema, así como todas las operaciones que
realiza sobre las BD.
Cuando el usuario entra al sistema, se guarda la fecha y la hora de entrada, pero además
de esto hay dos campos en donde se guardan la fecha y hora de salida.
Acá es donde tengo el problema. No sé como guardar en la BD esta información, ya que tiene que
ser cuando el usuario cierra la sesión, cierra la ventana.
Yo he intentado en el evento Session_End del global.asax pero no hace nada, aunque de hecho
creo que este evento se ejecuta cuando se hace un Session.Abandon, ¿qué podría hacer?
Por ahí está el evento Unload del Web Form, pero nada de nada. Hay alguna solución a esto?
A ver si me pueden ayudar. Saludos...
  #2 (permalink)  
Antiguo 12/05/2005, 10:01
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Puedes hacerlo con javascript..

En el evento onUnload del body, hacer un __dopostback que llame a tu método para que se ejecute.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 12/05/2005, 12:04
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
Gracias por la respuesta, lo probaré de esa forma. Creo que debe funcionar seguro.
De todos modos una nueva pregunta, la única forma que existe de hacer esto
solo utilizando javascript?
  #4 (permalink)  
Antiguo 12/05/2005, 12:10
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
la única forma que existe de hacer esto
solo utilizando javascript?
me temo que si friend , ya que esos evento se controlan desde el cliente, no puedes hacer primero una peticion al server antes de que ocurre en el cliente, ya que tu browser es controlado por ti, y las acciones o peticiones las haces despues
  #5 (permalink)  
Antiguo 12/05/2005, 12:29
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
Si, entiendo lo que dices, el único problem con esto es si el browser no soporta javascript cierto?,
entonces no podré guardar la fecha y hora de salida del usuario jeje, bueno pero ni modo si es la única forma
de hacerlo, uno de los requerimientos tendrá que ser permitir que el browser permita ejecutar javascript.
Lo haré como me lo has dicho. Thanks por la respuesta. Saludos...
  #6 (permalink)  
Antiguo 12/05/2005, 15:37
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Hay que tener cuidado con eso, ya que si cambias de página (response.redirect o location.href....) se lanza el evento on_load de la página actual, y si no tratas el code con cuidado llegará a la nueva página con el session.abandon(). No se si me explico
  #7 (permalink)  
Antiguo 12/05/2005, 15:47
 
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey mx
Mensajes: 57
Antigüedad: 19 años, 7 meses
Puntos: 0
Es cierto q no podemos controlar cuando el usuario cierra el browser...

lo que te aconsejaria hacer es poner un valor mas pequeño en el atributo timeout del elemento sessionState del webconfig, para q la session se termine sola, a un minimo tiempo considerable de inactividad...
  #8 (permalink)  
Antiguo 15/05/2005, 15:11
 
Fecha de Ingreso: febrero-2002
Ubicación: Mi ASP Bunker
Mensajes: 397
Antigüedad: 22 años, 2 meses
Puntos: 1
Si se puede controlar. Prueben con esto en VB :

Sub window_OnBeforeUnLoad()
document.location = "pagina.asp?funcion=Logout"
xtime = now() + timevalue("0:0:02")
while now()<xtime
wend
End Sub

Cuando el usuario presione el icono de cerrar o Alt+F4 la pagina llama enseguida a la encargada de cerrar session y demorara un tiempo en cerrarse de 2 seg., en este caso, para darle tiempo de hacer ese llamado.

Saludos y espero les sirva.
  #9 (permalink)  
Antiguo 16/05/2005, 06:10
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
Si, ya he estado lidiando con todo eso, y he optado por otra opción que me parece un poco más conveniente, como en mi caso lo que necesito es capturar la fecha y hora en que el usuario sale del sistema, he decidido guardar esto en cada request, de forma que siempre voy a guardar el último request que haya hecho el usuario, así me evito los problemas que me pueda ocasionar manejar esto sólo con javascript.
Gracias a todos por responder. Saludos...
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 16:13.