none
La variable Session pierde los valores que tiene RRS feed

  • Pregunta

  • Hola amigos les voy a plantear mi problema, la cuestión es que la variable Session pierde por alguna razón los valores que ya he guardado en ella.

    por ejemplo al iniciar la aplicación, la cual esta hecha en ASP.NET 2015, cuando el usuario inicia sesión entonces guardo el nombre del usuario en la variable Session.

    para guardar el valor lo hago así: Session["user"] = txtUsuario.Text;

    y cuando quiero leer el valor lo leo así: user.InnerText = Session["user"].ToString();

    cuando intento leer la variable me lanza una excepción porque la variable Session esta vacía. 

    en el webconfig tengo el siguiente código:

    <sessionState mode="InProc" cookieless="false" timeout="80" >
        </sessionState>

    le agregue mas tiempo al valor del timeout para ver si era por eso y nada.

    siempre pierde los datos cuando pasa de una pagina a otra.

    miércoles, 28 de diciembre de 2016 0:44

Respuestas

  • Hola había dejado la pregunta por que he estado en otro proyecto, el código que utilizo para asignar los valores a la variable es; Session["val1"] = "Prueba";

    y para leer el valor: string prueba = Session["val1"].ToString();

    este código así lo he utilizado anteriormente en otros proyectos y no me ha dado error.

    Hola entiendo que asi pruebas,pero probaste lo del modo StateServer

    y puedes postear mas de tu código 


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    viernes, 6 de enero de 2017 16:27

Todas las respuestas

  • hola

    >>cuando el usuario inicia sesión entonces guardo el nombre del usuario en la variable Session.

    partamso de a base que es una pesima idea, no se como implementar el login pero no se guarda alli los datos del usuario

    deberias usar el token de seguridad de asp.net membership

    >>cuando intento leer la variable me lanza una excepción porque la variable Session esta vacía.

    es algo raro, estas seguro que no pasas varias veces por algun evento que vuelve asignar el valor a esa key de la session limpiandola

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 28 de diciembre de 2016 0:52
  • Gracias Leandro por responder, guardo el nombre del usuario pero solamente estaba probando la variable Session ya que en realidad son otros datos que guardo que no tienen que ver con el usuario, el usuario lo manejo con forms authentication, y no, el proceso no pasa varias veces por el mismo evento.

    se inicia sesión en un formulario de login y luego pasa al formulario de la pagina principal, y cuando pasa del login a la pagina principal ya la variable esta vacía.


    • Editado Eldeyvi miércoles, 28 de diciembre de 2016 14:23 equivocacion
    miércoles, 28 de diciembre de 2016 14:22
  • Hola una consulta que control es "user"
    porque esta propiedad "InnerText" pensaba yo era de controles HTML 

    por que no pones algo como

    string variable=Session["user"].ToString();

    solo para validar el valor de variable,

    otra cosa en este paso de página a página de casualidad borras algún directorio,porque eso genera que el IIS ser reinicie y las sesiones pierdan su valor

    Por otro lado tambien existe el modo state server 

      <sessionState mode="StateServer"
            stateConnectionString="tcpip=127.0.0.1:42424"
            cookieless="false"
            timeout="20"/>

    con lo que debes tener el servicio levantado y corriendo


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.


    miércoles, 28 de diciembre de 2016 15:39
  • No borro ningún directorio y voy a probar el modo de estado de sesión StateServer debo implementar mas seguridad y no logro encontrar que hace que pierda las variables o reinicio el IIS
    miércoles, 28 de diciembre de 2016 18:28
  • No borro ningún directorio y voy a probar el modo de estado de sesión StateServer debo implementar mas seguridad y no logro encontrar que hace que pierda las variables o reinicio el IIS

    Ok.

    Sería bueno que postearas el código de como lo vienes haciendo.Muchas veces este error es por programación .


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    miércoles, 28 de diciembre de 2016 19:22
  • Hola había dejado la pregunta por que he estado en otro proyecto, el código que utilizo para asignar los valores a la variable es; Session["val1"] = "Prueba";

    y para leer el valor: string prueba = Session["val1"].ToString();

    este código así lo he utilizado anteriormente en otros proyectos y no me ha dado error.

    viernes, 6 de enero de 2017 15:50
  • Hola había dejado la pregunta por que he estado en otro proyecto, el código que utilizo para asignar los valores a la variable es; Session["val1"] = "Prueba";

    y para leer el valor: string prueba = Session["val1"].ToString();

    este código así lo he utilizado anteriormente en otros proyectos y no me ha dado error.

    Hola entiendo que asi pruebas,pero probaste lo del modo StateServer

    y puedes postear mas de tu código 


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    viernes, 6 de enero de 2017 16:27