Quel est le délai d'expiration de session par défaut dans ASP.NET?

Réponses:

107

C'est 20 minutes selon MSDN

Depuis MSDN:

Attribut TimeSpan facultatif.

Spécifie le nombre de minutes pendant lesquelles une session peut être inactive avant d'être abandonnée. L'attribut timeout ne peut pas être défini sur une valeur supérieure à 525 601 minutes (1 an) pour les modes in-process et state-server. Le paramètre de configuration du délai d'expiration de session s'applique uniquement aux pages ASP.NET. La modification de la valeur du délai d'expiration de session n'affecte pas le délai d'expiration de session pour les pages ASP. De même, la modification du délai d'expiration de session pour les pages ASP n'affecte pas le délai d'expiration de session pour les pages ASP.NET. La valeur par défaut est de 20 minutes.

Steven Lyons
la source
48

Cela dépend de la configuration ou du changement programmatique .
Par conséquent, le moyen le plus fiable de vérifier la valeur actuelle est au moment de l' exécution via le code.

Voir la propriété HttpSessionState.Timeout ; la valeur par défaut est de 20 minutes.

Vous pouvez accéder à cette propriété dans 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
la source
Je peux obtenir la valeur 20 lors de la vérification, int check = this.HttpContext.Session.Timeout;mais puis-je définir le délai d'expiration de la session avec la clé? et vérifiez le délai d'expiration de session pour une clé particulière comme Session["mykey"]:?
shaijut
37
  1. La période d'expiration par défaut de la session est de 20 minutes .
  2. La période d'expiration par défaut du cookie est de 30 minutes .
  3. La taille maximale de ViewState est de 25% de la taille de la page
Charan Ghate
la source
25

La valeur par défaut est de 20 minutes. 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>

la source
3

La période d'expiration par défaut de la session est de 20 minutes.

Vous pouvez mettre à jour sessionstate et configurer les minutes sous timeout

<sessionState 
timeout="30">
</sessionState>
karthik kasubha
la source