【问题标题】:session time is not working in asp.net会话时间在 asp.net 中不起作用
【发布时间】:2015-05-21 00:02:30
【问题描述】:

我正在使用表单验证,我的超时时间为 80 分钟。但是在使用应用程序时,在 5 分钟内它再次进入登录页面。 如何在 web.config 文件中增加我的会话超时时间?

<authentication mode="Forms">
         <forms loginUrl="~/Login.aspx" protection="All" timeout="120" name="ShoppingCartCookie" requireSSL="false" slidingExpiration="true" defaultUrl="login.aspx" cookieless="UseCookies" enableCrossAppRedirects="false" />
 </authentication>


 <system.web>
   <sessionState mode="InProc" cookieless="false" timeout="80" />
 </system.web>

【问题讨论】:

    标签: c# asp.net session web-config session-timeout


    【解决方案1】:

    在这种情况下,问题通常是 IIS。 5 分钟后刷新的是应用程序池,而不是过期的会话。进入 IIS 管理控制台。找出您的网站正在使用哪个应用程序池。

    然后您需要提高应用程序池的会话超时值 - 理想情况下,它应该高于您为网站设置的实际会话超时值。

    如果你在一个团队中工作,还可以查看你的代码中的任何 Session.Timeout = 5;,你可能会发现有人偷偷溜进了那个小宝石。

    【讨论】:

    • 我没有在 iis 中托管我的应用程序,那为什么要检查 iis 设置?@Hugo Yates
    • 如何知道我的应用程序中使用了哪个应用程序池?
    • 能否访问IIS管理控制台,您使用的是什么版本的IIS; 6 还是 7.5?
    • 我使用 7.5 版 iis @Hugo Yates
    • 右键进入 IIS,在左侧树视图中右键单击您的站点。管理应用程序 > 高级设置。你会得到一个对话框,顶部的项目应该是“应用程序池”。关闭那个。回到左侧,您将拥有“应用程序池”,单击它并找到您正在使用的应用程序池(如果需要,您可以创建一个新池)。右键单击池并选择“高级设置”。 Idle Time-out (minutes 是您所追求的(默认为 20 分钟)。
    猜你喜欢
    • 1970-01-01
    • 2016-07-11
    • 2014-12-13
    • 1970-01-01
    • 2013-02-10
    • 2021-11-07
    • 2018-12-31
    • 2022-01-17
    • 2013-04-16
    相关资源
    最近更新 更多