什么是ASP.NET中的默认会话超时?


Answers:


107

根据MSDN,这是20分钟

从MSDN:

可选的TimeSpan属性。

指定在会话被放弃之前可以空闲的分钟数。对于进程内和状态服务器模式,不能将timeout属性设置为大于525,601分钟(1年)的值。会话超时配置设置仅适用于ASP.NET页。更改会话超时值不会影响ASP页面的会话超时。同样,更改ASP页面的会话超时不会影响ASP.NET页面的会话超时。 默认值为20分钟。


48

它取决于配置程序更改
因此,检查当前值的最可靠方法是在运行时通过代码。

请参见HttpSessionState.Timeout属性;默认值为20分钟。

您可以通过HttpContext在ASP.NET中访问此属性:

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


25

默认值为20分钟。 http://msdn.microsoft.com/zh-CN/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>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.