Principales respuestas
La variable Session pierde los valores que tiene

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.
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ú.
- Propuesto como respuesta Joyce_ACModerator martes, 10 de enero de 2017 16:56
- Marcado como respuesta Joyce_ACModerator miércoles, 11 de enero de 2017 15: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 -
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
-
Hola una consulta que control es "user"
porque esta propiedad "InnerText" pensaba yo era de controles HTMLpor 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ú.
- Editado Augusto1982 miércoles, 28 de diciembre de 2016 15:41
- Propuesto como respuesta Joyce_ACModerator miércoles, 28 de diciembre de 2016 15:47
- Votado como útil Joyce_ACModerator jueves, 29 de diciembre de 2016 18:13
-
-
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ú.
-
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 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ú.
- Propuesto como respuesta Joyce_ACModerator martes, 10 de enero de 2017 16:56
- Marcado como respuesta Joyce_ACModerator miércoles, 11 de enero de 2017 15:27