Variables session caducan aun con timeout máximo
Publicado por LUPITA (4 intervenciones) el 10/02/2010 17:07:45
Hola,
Tengo una aplicación en VisualBasic .Net en la cual utilizo variables de Session.
La aplicación no debe caducar por lo que en el web.config tengo lo siguiente:
<sessionState timeout="525600"/>
Dentro de la aplicación tengo una función que valida que mi variable de session “Alias” siga viva, en caso de perder el valor me envía un correo en el cual pido me imprima el error.
La función se encuentra en el Page_Load de mis .aspx
La función es la siguiente:
Public Function ValidaSesion(ByVal strAlias As String, ByVal pagina As String) As String
'VALIDA QUE LA SESION SIGA ACTIVA
Dim s As String = ""
Dim BodyMessage As String
Dim sb As New StringBuilder
Try
s = HttpContext.Current.Session("Alias").ToString
ValidaSesion = s
Catch ex As Exception
strAlias = GetLoginName()
ValidaSesion = ""
'LIMPIO VARIABLES
BodyMessage = String.Empty
sb.Remove(0, sb.Length)
'CUERPO DEL CORREO
sb.Append("<html><body bgcolor=""white"">error: " & ex.Message & " <br /> EL VALOR DE LA VARIABLE S ES: " & s & " <br /> El valor de la variable SESSION(ALIAS) es: " & strAlias & " <br /> La pagina que dio en error es :" & pagina & " <br /> </body></html>")
BodyMessage = sb.ToString()
'ENVIA CORREO
EnviaCorreo("[email protected]", "Error en ValidaSesion PRUEBAS", BodyMessage, False, "", "[email protected]")
End Try
End Function
El problema es que entra al Catch de esta función y no lo comprendo, ya que con el timeout que coloque, las variables session no deberían de caducar, y no encuentro el problema. He buscado información sobre como hacer que mis variables no caduquen y en todos lados me dicen que con el timeout, pero a mi me sigue enviando el error.
El error que me envía en el correo es:
Error: Object reference not set to an instance of an object.
Tendrán alguna idea/sugerencia de que debo hacer.
Tengo una aplicación en VisualBasic .Net en la cual utilizo variables de Session.
La aplicación no debe caducar por lo que en el web.config tengo lo siguiente:
<sessionState timeout="525600"/>
Dentro de la aplicación tengo una función que valida que mi variable de session “Alias” siga viva, en caso de perder el valor me envía un correo en el cual pido me imprima el error.
La función se encuentra en el Page_Load de mis .aspx
La función es la siguiente:
Public Function ValidaSesion(ByVal strAlias As String, ByVal pagina As String) As String
'VALIDA QUE LA SESION SIGA ACTIVA
Dim s As String = ""
Dim BodyMessage As String
Dim sb As New StringBuilder
Try
s = HttpContext.Current.Session("Alias").ToString
ValidaSesion = s
Catch ex As Exception
strAlias = GetLoginName()
ValidaSesion = ""
'LIMPIO VARIABLES
BodyMessage = String.Empty
sb.Remove(0, sb.Length)
'CUERPO DEL CORREO
sb.Append("<html><body bgcolor=""white"">error: " & ex.Message & " <br /> EL VALOR DE LA VARIABLE S ES: " & s & " <br /> El valor de la variable SESSION(ALIAS) es: " & strAlias & " <br /> La pagina que dio en error es :" & pagina & " <br /> </body></html>")
BodyMessage = sb.ToString()
'ENVIA CORREO
EnviaCorreo("[email protected]", "Error en ValidaSesion PRUEBAS", BodyMessage, False, "", "[email protected]")
End Try
End Function
El problema es que entra al Catch de esta función y no lo comprendo, ya que con el timeout que coloque, las variables session no deberían de caducar, y no encuentro el problema. He buscado información sobre como hacer que mis variables no caduquen y en todos lados me dicen que con el timeout, pero a mi me sigue enviando el error.
El error que me envía en el correo es:
Error: Object reference not set to an instance of an object.
Tendrán alguna idea/sugerencia de que debo hacer.
Valora esta pregunta


0