Pregunta

Tengo una página web donde el usuario selecciona una Compañía y con eso mantengo el nombre de la Compañía en la memoria a través de una Sesión, pero cuando voy a la página siguiente, ¿la Sesión solo dura 5 minutos? Por cualquier motivo y cómo puedo solucionarlo, extendí el estado de la sesión en Web.config pero no funcionó.

Ejemplo: sesión (" CompanyName ") = " Bytes Technology "

En mi web.config tengo: tiempo de espera = " 40 " / >

Me muevo de Default.aspx a CompanyDetail.aspx con mi sesión (" CompanyName ")

Pero si dejo el programa inactivo en CompanyDetail.aspx, perderé el estado de sesión.

¿Alguna idea?

Saludos Etienne

¿Fue útil?

Solución 8

gracias a todos por toda la información. ¡La compañía que aloja mi sitio solo extendió el tiempo del grupo de aplicaciones y funcionó!

Gracias Etienne http://www.erate.co.za

Otros consejos

a partir de su comentario, veo que cree que su sitio está en una granja de servidores de equilibrio de carga.

en este caso, debe almacenar su sesión en db o evitar usarla: no puede estar seguro de que el mismo servidor servirá al mismo usuario cada vez que realice una devolución de datos, y si el usuario pasa del servidor " A " al servidor " B " en dos publicaciones diferentes ... tus variables de sesión se pierden.

intente una búsqueda en Google para " base de datos de estado de sesión " ;, encontrará un montón de cosas en esto.

espero que esto ayude

andrea

algunas preguntas:

  • el tiempo de espera es siempre el mismo? ¿5 minutos?
  • ¿se está ejecutando su sitio en una granja de servidores de equilibrio de carga? con más de un servidor front-end?
  • ¿Qué está diciendo en su configuración de web con respecto a las sesiones y el estado de la sesión?

Apostaría a que no estás usando una granja de carga equilibrada y en realidad estamos usando un alojamiento compartido.

En una granja de servidores con carga equilibrada, su código se implementa en varios servidores y, si tiene sesiones bloqueadas deshabilitadas, el usuario utilizará el servidor con la menor carga en cada solicitud.

Ya que estás usando un alojamiento de terceros, dudo mucho que lo hagas.

El tiempo de espera de la sesión puede ser difícil en IIS por parte del proveedor del host, y el culpable más probable es que lo hayan configurado en 5 minutos.

Llame a su proveedor anfitrión, pregúnteles cuáles son sus configuraciones de sesión de IIS y vaya desde allí.

En IIS, vaya a las propiedades de su sitio web, haga clic en la pestaña Directorio principal y luego haga clic en el botón Configuración. Aquí, haga clic en la pestaña de opciones y verifique el tiempo de espera de la sesión allí. Estoy bastante seguro de que esto solo afecta al ASP clásico, pero no estoy 100% seguro.

Si esto sucede siempre a los 5 minutos, verifique web.config para la configuración de la sesión y verifique IIS: website / Properties / ASP.NET, haga clic en Editar configuración, seleccione la pestaña Administración del estado y verifique la configuración de la sesión.

¿podría haber algún antivirus en el servidor que haga que la aplicación web se reinicie cada 5 minutos, con el tiempo de ejecución de ASP.NET pensando que los binarios o web.config han cambiado? eso también es posible.

Otra idea es poner el nombre de la máquina en un comentario en una página y ver si está cambiando de una página a otra para confirmar que hay un cambio en el servidor que maneja la solicitud.

¡Decidí rechazar usando las Variables de sesión y fui con cadenas de consulta! ¡Mucho mejor!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top