如何在web.config文件中用C#代码更新会话超时?

时间:2016-12-04 13:44:27

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

我想从C#代码更新会话超时

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

我使用Session.Timeout=50并且工作正常,但我想更改Web.Config文件中的值。

完成操作后,文件应该像

一样更新
<system.web>
        <sessionState 
          mode="InProc" 
          cookieless="false" 
          timeout="50"/>
</system.web>

1 个答案:

答案 0 :(得分:0)

在代码中使用session.timeout = 50时。它不会对您的配置文件产生影响。而不是尝试更改web.config如何关于Global.asax文件的Session_Start方法,并将Session.TimeOut设置为您想要的任何内容。

更多信息:

https://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.timeout(v=vs.110).aspx

在global.asax

中添加这些行
protected void Session_Start(object src, EventArgs e)
        {
            if (Context.Session != null)
            {
                if (Context.Session.IsNewSession)
                {
                    Context.Session.Timeout = 50;

                }
            }
        }