Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 11-dic-2002, 16:33   #1 (permalink)
misitioweb está en el buen camino
 
Avatar de misitioweb
 
Fecha de Ingreso: noviembre-2002
Ubicación: Guadalupe, N.L.
Mensajes: 99
Pregunta No ejecuta el codigo al Finalizar la Sesion... :'(

Hola a Todos....

Tengo un pequeño problema..... alguno de ustedes, sabe porque no ocurre el evento OnEnd_Session?

La idea es contar el numero de sesiones activas o de usuario, como lo quieran ver, pero... el codigo que coloco en el archivo Global.asax no funciona como deberia de ser. Solo me ejecuta el codigo cuando inicia la sesion, pero nuna ajecuta el codigo del final de sesion. Alguno de ustedes puede decirme porque? algun detalles que haya que tomar en cuenta. Este es el ejemplo de uso:

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Se desencadena cuando se inicia la sesión
Application("ActiveUsers") = Application("ActiveUsers") + 1
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
Application("ActiveUsers") = Application("ActiveUsers") - 1
End Sub

Pero siempre suma... y nunca resta. Alguno me puede ayudar...

Gracias....

Última edición por misitioweb; 11-dic-2002 a las 16:54.
misitioweb está desconectado   Responder Citando
Antiguo 11-dic-2002, 20:13   #2 (permalink)
jlchavez está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Ubicación: Guatemala
Mensajes: 149
Enviar un mensaje por ICQ a jlchavez Enviar un mensaje por MSN a jlchavez Enviar un mensaje por Yahoo  a jlchavez
Este es el error mas comun, ya lo he visto en muchas otras comunidades.

Si lo que quieres es que al cerrar tu página descuente un usuario...jamas lo lograras. El problema radica en que nunca se ha tenido una conección permanente entre cliente y servidor.

El servidor no se entera de que se cerro el navegador. Lo que debes esperar es el "Time out", si el usuario no ha realizado ninguna acción en un sitio, el servidor elimina la sessión, al eliminarla se dispara el evento OnEnd_Session...juraria que es Session_OnEnd...esto normalmente sucede al transcurrir 20 minutos o el tiempo que le tengas configurado en el IIS.

Para forzar a terminar una sessión puede usar Session.Abandon(). Recomendado para efectos de prueba.

De paso no conviene usar algo para que habra una pagina que llama a session.abandon por que si tienes multiples ventanas del navegador funcionando sobre el mismo sitio te mataria la sesion para todas.

Aquí es cosa de esperar que el usuario no haga nada en los 20 minutos para que lo descuente.
__________________
José Luis Chávez del Cid
Consultor, Ministerio de Salud Pública/BID
Modernización del Seguro Social (IGSS), Guatemala
servicios.igssgt.org
jlchavez está desconectado   Responder Citando
Antiguo 11-dic-2002, 20:31   #3 (permalink)
misitioweb está en el buen camino
 
Avatar de misitioweb
 
Fecha de Ingreso: noviembre-2002
Ubicación: Guadalupe, N.L.
Mensajes: 99
Ya lo intente haciendo que en el evento Start_Session llame al Session.Abandon y tampoco funciona.....
misitioweb está desconectado   Responder Citando
Antiguo 12-dic-2002, 13:02   #4 (permalink)
misitioweb está en el buen camino
 
Avatar de misitioweb
 
Fecha de Ingreso: noviembre-2002
Ubicación: Guadalupe, N.L.
Mensajes: 99
Alegría PROBLEMA RESUELTO

Problema resuelto....... se podria decir que nunca lo hubo.

Si se ejecuta el evento... solo hay que ser pacientes.
misitioweb está desconectado   Responder Citando
Antiguo 15-dic-2002, 23:09   #5 (permalink)
jlchavez está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Ubicación: Guatemala
Mensajes: 149
Enviar un mensaje por ICQ a jlchavez Enviar un mensaje por MSN a jlchavez Enviar un mensaje por Yahoo  a jlchavez
Creo que hay un pequeño problema de concepto....para que quieres eliminar la sessión en el momento que esta empezando???

Bueno pero si esperas el tiempo estandar la sessión terminara en 20 minutos (o lo cambias en el IIS). Si no cierras el navegador y lo vuelvas a abrir....sessión perdida y vuelta a empezar
__________________
José Luis Chávez del Cid
Consultor, Ministerio de Salud Pública/BID
Modernización del Seguro Social (IGSS), Guatemala
servicios.igssgt.org
jlchavez está desconectado   Responder Citando
Antiguo 19-dic-2002, 05:56   #6 (permalink)
Ruchu está en el buen camino
 
Avatar de Ruchu
 
Fecha de Ingreso: noviembre-2002
Mensajes: 675
el tiempo predeterminado de una sesion es de 20 minutos, lo puedes cambiar desde la configuracíon del iis y tambien desde el propio global.asa o asax asi:

Sub Session_OnStart
Session.Timeout = 20
....
....
Ruchu está desconectado   Responder Citando
Respuesta

Calificación: Calificación de Tema: 1 votos, 5,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:35.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93