Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在asp.net中增加会话超时?_Asp.net - Fatal编程技术网

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

如何在asp.net中增加会话超时?,asp.net,Asp.net,我尝试了以下代码来增加会话超时,但没有用 代码是: <sessionState mode="InProc" cookieless="true" timeout="60"> </sessionState> 您可以通过以下任一方式增加asp.net中的会话超时 使用IIS版本7: 开放IIS 从网站列表中选择您的网站 单击右侧的会话状态 现在在cookie设置下输入会话超时 或 Web.config: 打开web.config文件,在system.web部分下添加以下内容:

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

代码是:

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

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

使用IIS版本7:

开放IIS 从网站列表中选择您的网站 单击右侧的会话状态 现在在cookie设置下输入会话超时 或

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

<sessionState timeout = "20" mode = "InProc" />
注意:如果您同时在IIS和web.config中设置会话超时,则IIS中的会话超时将覆盖web.config中的会话超时


希望这有帮助

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

<system.web>
  <authentication mode="Forms">
      <forms timeout="70"/>
  </authentication>
  <sessionstate timeout="80"/>
</system.web>
我想代码对你有帮助

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

它适合我,请将它复制到您的web.config文件。

我想添加我的最终解决方案。在读到配置中的设置不正确之后

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

简单地说,去网络配置,然后设置它

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

这应该行得通。你是如何检查你的会话超时的?看看这个问题嗨,你能告诉我两个超时值之间的区别吗?i、 e.表单超时和会话状态timeout@NitinSawant-这是有关stackoverflow的现有答案,您在示例中忘记关闭sessionState标记。你应该写:嘿,谢谢你通知我,我会用它更新我的答案!非常感谢!实际上,在IIS7下,将会话设置为一个位置将会话设置为另一个位置。因此,如果您在IIS中设置它,它将自动更新Web.config,反之亦然。@MuhammadAwais-它的分钟数。如果您在Web.config中定义:是否冗余,请在代码中再次写入:Session.Timeout=20。另外,我需要60分钟的会话持续时间,这是安装应用程序池所必需的。转到IIS管理员,然后转到应用程序池,然后转到高级设置,然后转到流程模型,将空闲超时分钟数设置为60。如果您的网站使用身份验证,cookie身份验证过期必须至少配置为会话持续时间的两倍。如果您在每个请求中更新过期,请根据FormsAuthentication.RequireSSL中的设置注意设置安全属性。
            if (model.RememberMe)
            {
                var ASPCookie = Request.Cookies["ASP.NET_SessionId"];
                ASPCookie.Expires = DateTime.Now.AddDays(15);
                Response.SetCookie(ASPCookie);
            }
        <system.web>
    <sessionState timeout="60"></sessionState>
  <compilation debug="true" targetFramework="4.0" />
</system.web>
 <sessionState cookieless="false" timeout="30" mode="InProc"/>
  <authentication mode="Forms">
      <forms name="AppRootForms" loginUrl="LoginPage.aspx" protection="All" timeout="30" path="/" slidingExpiration="true"/>
    </authentication>
<system.webServer>
     <!--<max limit for storing session />-->
    <asp>
         <session allowSessionState="true" max="100000" timeout="00:30:00" />
    </asp>
</system.webServer>