Что такое тайм-аут сеанса по умолчанию в ASP.NET?

Ответы:

107

Согласно MSDN, это 20 минут.

Из MSDN:

Необязательный атрибут TimeSpan.

Задает количество минут, в течение которых сеанс может быть неактивен, прежде чем он будет прерван. Атрибут тайм-аута не может быть установлен на значение, превышающее 525 601 минуту (1 год) для режимов внутри процесса и сервера состояний. Параметр конфигурации тайм-аута сеанса применяется только к страницам ASP.NET. Изменение значения тайм-аута сеанса не влияет на тайм-аут сеанса для страниц ASP. Точно так же изменение времени ожидания сеанса для страниц ASP не влияет на время ожидания сеанса для страниц ASP.NET. По умолчанию 20 минут.

Стивен Лайонс
источник
48

Это зависит либо от конфигурации, либо от программного изменения .
Поэтому самый надежный способ проверить текущее значение - во время выполнения с помощью кода.

См. Свойство HttpSessionState.Timeout ; значение по умолчанию - 20 минут.

Вы можете получить доступ к этому свойству в ASP.NET через HttpContext :

this.HttpContext.Session.Timeout // ASP.NET MVC controller
Page.Session.Timeout // ASP.NET Web Forms code-behind
HttpContext.Current.Session.Timeout // Elsewhere
Барт Веркойен
источник
Я могу получить значение 20 во время проверки, int check = this.HttpContext.Session.Timeout;но могу ли я установить тайм-аут сеанса с помощью ключа? и проверьте тайм-аут сеанса для определенного ключа, например Session["mykey"]:?
Shaijut
37
  1. По умолчанию срок действия сеанса составляет 20 минут .
  2. Срок действия cookie по умолчанию составляет 30 минут .
  3. Максимальный размер ViewState составляет 25% от размера страницы.
Чаран Гате
источник
25

По умолчанию 20 минут. 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>

источник
3

По умолчанию срок действия сеанса составляет 20 минут.

Вы можете обновить состояние сеанса и настроить минуты по таймауту

<sessionState 
timeout="30">
</sessionState>
Картик Касубха
источник