ASP.NET中的会话超时限制?

时间:2013-07-18 09:46:31

标签: asp.net asp.net-mvc-2 web-config

我正在Web.Config中修改一个用C#编写的ASP.NET应用程序的会话时间,目前我将超时设置为120分钟,如下所示:

<sessionState mode="InProc" cookieName="Application_SessionId" timeout="120"/>

此值有限制吗?因此,如果我希望将其设置为24小时(1440分钟),那么这将适用吗?

这是带有MVC 2.0的ASP.NET 4.0版

3 个答案:

答案 0 :(得分:21)

Timeout属性不能设置为大于525,600分钟(1年)的值。默认值为20分钟。

缺点:如果您有大量用户并且会话超时增加,您将遇到性能问题,您的非活动会话将保留在Web服务器内存中,这可能导致应用程序池回收,这将导致所有会话丢失用户。

答案 1 :(得分:5)

默认情况下,该值为 20 ,最大值为 525600 525600 分钟相当于一年)。在 Web.config 文件中维护以下代码以维持最大会话超时:

<system.web>
    <sessionState mode="InProc" timeout="525600"></sessionState>
    ...
</system.web>

上面一个为我工作。请参阅here

答案 2 :(得分:3)

我不确定将会话超时设置为24小时是否合理,但是我认为将其设置为最多365天是合适的。