ASP.NET中的会话超时问题

时间:2011-06-24 06:45:23

标签: c# .net asp.net .net-4.0 session-state

我已经阅读了一些与会话超时相关的问题,我已经更改了设置但没有用。

这是web.config中的会话条目。我想在5个小时后过期。

<sessionState mode="InProc" timeout="300" />

在登录页面上,我在会话中添加用户名

Session.Add("Authenticated", UserName);

我的每个页面都是用BasePage继承的,在基类中我对每个页面进行了检查。

if (Session["Authenticated"] == null)
{
   Response.Redirect("../userlogin.aspx");
}

但是会话在一小时之前到期。

我想确认在此期间web.config,Bin文件夹文件等没有变化。

2 个答案:

答案 0 :(得分:2)

看看这个ASP.NET Session Timeouts

除了IIS空闲超时外,还有表单身份验证超时,默认为30分钟。因此,在会话实际到期之前,您将被重定向到登录页面。

<system.web>
    <authentication mode="Forms">
         <forms timeout="300"/>
    </authentication>

    <sessionState timeout="300"  />
</system.web>

答案 1 :(得分:0)

如果您在IIS6(Win2K3)上托管它,请转到运行应用程序的应用程序池中的设置。你也需要在那里设置它。