如何在asp.net中增加会话超时?

时间:2014-02-24 13:14:35

标签: asp.net

我尝试使用以下代码来增加会话超时,但没有用,

代码是:

<sessionState mode="InProc" cookieless="true" timeout="60">
</sessionState>

也在

编码
void Session_Start(object sender, EventArgs e)
{
// Code that runs when a new session is started
Session.Timeout = 15;
}

6 个答案:

答案 0 :(得分:29)

您可以通过以下任何一种方式在asp.net中增加会话超时

使用IIS版本7:

  1. 打开 IIS
  2. 从网站列表中选择您的网站
  3. 点击右侧的会话状态
  4. 现在在Cookie设置下输入会话超时
  5. OR

    Web.config: 打开web.config文件,在 system.web 部分下添加以下内容:

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

    将20替换为您想要的任何数字。

    OR

    Global.asax文件: Session_Start 方法下,将会话的超时属性设置为所需的值,如下所示

    Session.Timeout = "20";
    

    注意:如果您在IIS和web.config中设置会话超时,则IIS中的会话超时将覆盖web.config中的会话超时

    希望这有帮助!

答案 1 :(得分:0)

如果您使用的是表单身份验证,则会话超时的默认值为30分钟。请尝试使用此代码来增加会话超时。

<system.web>
  <authentication mode="Forms">
      <forms timeout="70"/>
  </authentication>
  <sessionstate timeout="80"/>
</system.web>

我认为代码可以帮助你。

答案 2 :(得分:0)

我想添加我的最终解决方案。在读取该设置后,它在配置中是&#34;不正确&#34;。

            if (model.RememberMe)
            {
                var ASPCookie = Request.Cookies["ASP.NET_SessionId"];
                ASPCookie.Expires = DateTime.Now.AddDays(15);
                Response.SetCookie(ASPCookie);
            }

答案 3 :(得分:0)

简单地说,去WebConfig,然后设置它,

        <system.web>
    <sessionState timeout="60"></sessionState>
  <compilation debug="true" targetFramework="4.0" />
</system.web>

答案 4 :(得分:0)

.qml

答案 5 :(得分:-1)

<system.web>
  <authentication mode="Forms">
      <forms timeout="70"/>
  </authentication>
  <sessionState timeout="80"/>
</system.web>

它适用于我,将其复制到您的web.config文件。