Co to jest domyślny limit czasu sesji w programie ASP.NET?

Odpowiedzi:

107

Według MSDN jest to 20 minut

Z MSDN:

Opcjonalny atrybut TimeSpan.

Określa liczbę minut, przez które sesja może być bezczynna, zanim zostanie porzucona. Dla atrybutu limitu czasu nie można ustawić wartości większej niż 525 601 minut (1 rok) dla trybów w trakcie i serwera stanu. Ustawienie konfiguracji limitu czasu sesji dotyczy tylko stron ASP.NET. Zmiana wartości limitu czasu sesji nie wpływa na limit czasu sesji dla stron ASP. Podobnie zmiana limitu czasu sesji dla stron ASP nie wpływa na limit czasu sesji dla stron ASP.NET. Wartość domyślna to 20 minut.

Steven Lyons
źródło
48

Zależy to od konfiguracji lub zmiany programowej .
Dlatego najbardziej niezawodnym sposobem sprawdzenia bieżącej wartości jest wykonanie kodu.

Zobacz właściwość HttpSessionState.Timeout ; wartość domyślna to 20 minut.

Możesz uzyskać dostęp do tej właściwości w ASP.NET za pośrednictwem 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
źródło
mogę uzyskać wartość 20 podczas sprawdzania, int check = this.HttpContext.Session.Timeout;ale czy mogę ustawić limit czasu sesji za pomocą klucza? i sprawdź limit czasu sesji dla określonego klucza, takiego jak Session["mykey"]:?
shaijut
37
  1. Domyślny okres wygaśnięcia sesji wynosi 20 minut .
  2. Domyślny okres wygaśnięcia plików cookie to 30 minut .
  3. Maksymalny rozmiar ViewState to 25% rozmiaru strony
Charan Ghate
źródło
25

Wartość domyślna to 20 minut. 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>

źródło
3

Domyślny okres wygaśnięcia sesji wynosi 20 minut.

Możesz zaktualizować stan sesji i skonfigurować minuty w ramach limitu czasu

<sessionState 
timeout="30">
</sessionState>
karthik kasubha
źródło