¿Qué es el tiempo de espera de sesión predeterminado en ASP.NET?

Respuestas:

107

Son 20 minutos según MSDN

Desde MSDN:

Atributo opcional TimeSpan.

Especifica la cantidad de minutos que una sesión puede estar inactiva antes de que se abandone. El atributo de tiempo de espera no se puede establecer en un valor superior a 525.601 minutos (1 año) para los modos en proceso y servidor de estado. La configuración del tiempo de espera de la sesión se aplica solo a las páginas ASP.NET. Cambiar el valor del tiempo de espera de la sesión no afecta el tiempo de espera de la sesión para las páginas ASP. De manera similar, cambiar el tiempo de espera de la sesión para las páginas ASP no afecta el tiempo de espera de la sesión para las páginas ASP.NET. El valor predeterminado es 20 minutos.

Steven Lyons
fuente
48

Depende de la configuración o del cambio programático .
Por lo tanto, la forma más confiable de verificar el valor actual es en tiempo de ejecución mediante código.

Consulte la propiedad HttpSessionState.Timeout ; el valor predeterminado es 20 minutos.

Puede acceder a esta propiedad en ASP.NET a través de HttpContext :

this.HttpContext.Session.Timeout // ASP.NET MVC controller
Page.Session.Timeout // ASP.NET Web Forms code-behind
HttpContext.Current.Session.Timeout // Elsewhere
Bart Verkoeijen
fuente
int check = this.HttpContext.Session.Timeout;Puedo obtener el valor 20 mientras verifico, pero ¿puedo establecer el tiempo de espera de la sesión con la tecla? y verifique el tiempo de espera de la sesión para una clave particular como Session["mykey"]:?
shaijut
37
  1. El período de vencimiento predeterminado para la sesión es de 20 minutos .
  2. El período de vencimiento predeterminado para las cookies es de 30 minutos .
  3. El tamaño máximo de ViewState es el 25% del tamaño de la página
Charan Ghate
fuente
25

El valor predeterminado es 20 minutos. http://msdn.microsoft.com/en-us/library/h6bb9cz9(v=vs.80).aspx

<sessionState 
mode="[Off|InProc|StateServer|SQLServer|Custom]"
timeout="number of minutes"
cookieName="session identifier cookie name"
cookieless=
     "[true|false|AutoDetect|UseCookies|UseUri|UseDeviceProfile]"
regenerateExpiredSessionId="[True|False]"
sqlConnectionString="sql connection string"
sqlCommandTimeout="number of seconds"
allowCustomSqlDatabase="[True|False]"
useHostingIdentity="[True|False]"
stateConnectionString="tcpip=server:port"
stateNetworkTimeout="number of seconds"
customProvider="custom provider name">
<providers>...</providers>
</sessionState>

fuente
3

El período de vencimiento predeterminado para la sesión es de 20 minutos.

Puede actualizar el estado de la sesión y configurar los minutos en el tiempo de espera

<sessionState 
timeout="30">
</sessionState>
karthik kasubha
fuente