繁体   English   中英

会话在ASP.NET Web应用程序中结束

[英]Session ends in ASP.NET Web application

亲爱的,

我有一个ASPX.Net应用程序(框架4.5.1),它似乎会话每20分钟结束一次,我尝试执行以下操作,但是会话仍然在20分钟后结束。

在配置文件中,我添加:

<system.web>
  <sessionState timeout="60000" cookieless="AutoDetect" mode = "InProc" />
</system.web>

添加新会话时,我添加:

HttpContext.Current.Session.Timeout = 60000;

在全局类中,我添加:

protected void Session_Start(object sender, EventArgs e)
{
    Session.Timeout = 60000;
}

请注意,我试图增加超时并减少超时,但是没有任何改变。

一些托管服务提供商会覆盖您的配置。 您无法更改该值。 我建议您使用Cookie代替Session。

如果要使用会话,则可以使用此基本功能。 将此代码块添加到您的MasterPage / Layout。 在添加之前,您需要为这些请求创建一个空白页。

<script>
            PingAspToKeepSession();
            function PingAspToKeepSession() {
                var url = "/Session/Refresh";
                var httpOb = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
                httpOb.open("POST", url, true);
                httpOb.send("");
                window.setTimeout("PingAspToKeepSession();", 60000); // every 60 seconds
            }
</script>

或者您可以尝试更改machine.config:C:\\ Windows \\ Microsoft.NET \\ Framework \\ v4.0.30319 \\ Config \\ machine.config

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM