【问题标题】:Session Timeout Limit in ASP.NET?ASP.NET 中的会话超时限制?
【发布时间】:2013-07-18 09:46:31
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 当我登录 Facebook 时,我可以在一周后回来,我仍然在登录。这对我来说很有价值。所以你是说如果我为我的 MVC 应用程序做一周左右的时间,它会对性能产生影响吗?还有其他增加会话长度的方法吗?
    • @JonathanWood 我猜他们为此目的有一个单独的、轻量级的身份验证服务器,或者使用其他类型的 cookie
    【解决方案2】:

    默认值为20,最大值为525600525600 em> 分钟相当于一年)。在您的 Web.config 文件中维护以下代码以维护最大会话超时:

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

    以上一个对我有用。请参考here

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-02
        • 2010-12-05
        • 2010-10-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多