Qual é o tempo limite de sessão padrão no ASP.NET?

Respostas:

107

São 20 minutos de acordo com MSDN

Do MSDN:

Atributo TimeSpan opcional.

Especifica o número de minutos que uma sessão pode ficar inativa antes de ser abandonada. O atributo de tempo limite não pode ser definido para um valor maior que 525.601 minutos (1 ano) para os modos em processo e servidor de estado. A definição de configuração de tempo limite de sessão aplica-se apenas a páginas ASP.NET. Alterar o valor de tempo limite da sessão não afeta o tempo limite da sessão para páginas ASP. Da mesma forma, alterar o tempo limite da sessão para páginas ASP não afeta o tempo limite da sessão para páginas ASP.NET. O padrão é 20 minutos.

Steven Lyons
fonte
48

Depende da configuração ou da alteração programática .
Portanto, a maneira mais confiável de verificar o valor atual é em tempo de execução via código.

Consulte a propriedade HttpSessionState.Timeout ; o valor padrão é 20 minutos.

Você pode acessar esta propriedade em ASP.NET via 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
fonte
consigo obter o valor 20 durante a verificação, int check = this.HttpContext.Session.Timeout;mas posso definir o tempo limite da sessão com a chave? e verifique o tempo limite da sessão para uma chave específica como Session["mykey"]:?
shaijut
37
  1. O período de expiração padrão para a sessão é de 20 minutos .
  2. O período de expiração padrão do cookie é de 30 minutos .
  3. O tamanho máximo de ViewState é 25% do tamanho da página
Charan Ghate
fonte
25

O padrão é 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>

fonte
3

O período de expiração padrão para a sessão é de 20 minutos.

Você pode atualizar o estado da sessão e configurar os minutos em tempo limite

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