none
Capturar Variable de sesion antes que caduque RRS feed

  • Pregunta

  • buenos dias

    estoy haciendo un modulo para llevar el control de inicios de sesion en una aplicacion web, para saber cuanto duran un usuario logeado necesito saber cuando inicio sesion y cuando termina, el inicio es sencillo pues solo guardo la hora en la que el login es correcto, pero para el final la tengo un poco mas dificil, pues no solo es cuando el  usuario cierra sesion sino tambien cuando el servidor la termina por inactividad, estuve investigando y me encontre en la clase global.asax hay metodos para cuando la sesion termina, pero yo necesito guardar el Id del usuario el cual tengo en una variable de sesion, la cosa es que cuando la aplicacion entra al metodo session_end, esta variable ya esta borrada. mi pregunta es ¿ alguien la comunidad sabe como puedo guardar esa variable antes del session_end?

    agradezco cualquier ayuda, muchas gracias

    lunes, 2 de mayo de 2016 15:24

Respuestas

Todas las respuestas

  • No debería ser así.  Los objetos almacenados en Session deberían estar disponibles durante Session_End.  ¿Está 100% seguro de lo que asevera?  Por cierto, ¿qué tipo de sesiones tiene configurado en su web.config?  Tip:  Si no tiene nada de esto en su web.config por defecto es InProc.

    Jose R. MCP
    Code Samples

    lunes, 2 de mayo de 2016 16:36
    Moderador
  • hola

    >>estuve investigando y me encontre en la clase global.asax hay metodos para cuando la sesion termina, pero yo necesito guardar el Id del usuario el cual tengo en una variable de sesion

    veo complicado lo que planteas, es mas el evento que obtienes del global.asax no se ejecuta de forma inmediata cuando el usuario cierra el browser

    quizas para tener una accion inmediata podrias usar el

    window.onbeforeunload

    para detectar cuando cierra el browser y luego alli realizar una llamada ajax con jquery a un webmethod para enviar la accion de cierre del browser y por consiguiente la eliminacion de la session

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 2 de mayo de 2016 16:39
  • Hola gracias por responder

    de echo esta en modo InProc, yo no manejo muy bien el tema de las sessiones solo las uso para guardar datos que persistan para llamarlos en otros formularios, estoy seguro que no funciona, tal vez tengas razon y sea algo en la configuracion del web config por que cuando trato de obtener una variable de sesion en el sesion end, revienta la aplicacion por "referencia a objeto no establecida como instancia de objeto", lo que yo interpreto como que esta consultando algo que es null

    lunes, 2 de mayo de 2016 20:41
  • Hola

    es muy buena idea, voy a probar ese metodo, gracias por el apoyo

    lunes, 2 de mayo de 2016 20:42
  • Muéstrenos el código del Session_End y asegúrese de marcar la línea exacta en donde obtiene la excepción NullReferenceException.  Veamos si podemos encontrar el problema, pues la variable de sesión debe de estar ahí.

    Jose R. MCP
    Code Samples

    lunes, 2 de mayo de 2016 21:57
    Moderador