working sessionstate not net commandtimeout aumentar asp asp.net session web-config

asp.net - sessionstate - timeout web.config connection string



Tiempo de espera de autenticación de formularios frente al tiempo de espera de sessionState (5)

Tengo un código que estoy revisando con respecto al tiempo de espera del sitio web. En el web.config encontré este código.

<authentication mode="Forms"> <forms loginUrl="~/Auth/SignOn.aspx" timeout="40" slidingExpiration="true" /> </authentication> <sessionState timeout="30" />

¿Alguien sabe si uno toma precedencia sobre el otro y cómo son diferentes? Gracias.


El valor slidingExpiration = true básicamente dice que después de cada solicitud realizada, el temporizador se restablece y, siempre que el usuario haga una solicitud dentro del valor de tiempo de espera, continuará siendo autenticado.

Esto no es correcto. El tiempo de espera de la cookie de autenticación solo se restablecerá si ha transcurrido la mitad del tiempo de espera.

Consulte, por ejemplo, https://support.microsoft.com/de-ch/kb/910439/en-us o https://itworksonmymachine.wordpress.com/2008/07/17/forms-authentication-timeout-vs-session-timeout/


La diferencia es que uno (tiempo de espera de formularios) tiene que ver con la autenticación del usuario y el otro (tiempo de espera de la sesión) tiene que ver con cuánto tiempo se almacenan los datos en caché en el servidor. Entonces son cosas muy independientes, por lo que uno no tiene prioridad sobre el otro.


Por lo que entiendo, son independientes el uno del otro. Al mantener el tiempo de espera de la sesión menor o igual que el tiempo de espera de autenticación, puede asegurarse de que las variables de sesión específicas del usuario no se mantengan después de que se agotó el tiempo de espera de la autenticación (si esa es su preocupación, que creo que es la normal al preguntar esto pregunta). Por supuesto, tendrá que manejar manualmente la eliminación de variables de sesión al cerrar la sesión.

Aquí hay una respuesta decente que puede responder a su pregunta o al menos apuntarle en la dirección correcta:


Son cosas diferentes. El valor de Tiempo de espera de autenticación de formularios establece la cantidad de minutos en minutos que la cookie de autenticación se establece como válida, lo que significa que después de un número de minutos de value , la cookie caducará y el usuario ya no será autenticado; se redirigirá a la página de inicio de sesión automáticamente-. El valor slidingExpiration=true básicamente dice que después de cada solicitud realizada, el temporizador se restablece y, siempre que el usuario haga una solicitud dentro del valor de tiempo de espera, continuará siendo autenticado. Si configura slidingExpiration=false la cookie de autenticación caducará después de la cantidad de minutos de value independientemente de si el usuario realiza una solicitud dentro del valor de tiempo de espera o no.

El valor de tiempo de espera de SessionState establece la cantidad de tiempo que se requiere un proveedor de estado de sesión para mantener los datos en la memoria (o cualquier almacén de respaldo que se esté usando, SQL Server, OutOfProc, etc.) para una sesión en particular. Por ejemplo, si coloca un objeto en Sesión usando el valor en su ejemplo, esta información se eliminará después de 30 minutos. El usuario aún puede estar autenticado, pero los datos en la sesión pueden no estar presentes. El valor de Session Timeout siempre se restablece después de cada solicitud.


<sessionState timeout="2" /> <authentication mode="Forms"> <forms name="userLogin" path="/" timeout="60" loginUrl="Login.aspx" slidingExpiration="true"/> </authentication>

Esta configuración me envía a la página de inicio de sesión cada dos minutos, lo que parece controvertir las respuestas anteriores