如何在过期前延长asp.net中的会话超时

Posted

技术标签:

【中文标题】如何在过期前延长asp.net中的会话超时【英文标题】:how to extend the session timeout in asp.net before expiry 【发布时间】:2014-02-12 00:26:42 【问题描述】:

我正在开发电影票预订网站。我正在使用会话,因为我想延长会话超时现在使用 20 分钟作为会话超时,但是当用户通过支付网关或在支付网关页面中时。会话超时不应该执行是否有这样做或会话超时应该延长。 可以通过global.asax页面还是有其他方法

提前致谢

【问题讨论】:

您是否尝试全局延长会话超时时间? 是的,我想在全球范围内延长会话超时时间还有其他方法可以延长会话超时时间吗?我不知道如何延长时间 【参考方案1】:

您可以在托管应用程序的服务器上的 IIS 进程中调整应用程序池。默认情况下,它设置为 20 分钟。您可以根据自己的方便进行调整。

你可以参考这个Link

【讨论】:

我不是问设置会话超时我想延长会话超时有什么办法【参考方案2】:

在 web.config 中。

 <system.web>
<compilation debug="true" targetFramework="4.0" />
<sessionState timeout="10"></sessionState>
<httpRuntime executionTimeout="9999" maxRequestLength="10240"/>
 .....
</system.web> 

它将会话时间设置为 10 分钟

在 Global.asax 文件中,我们可以像这样在 Session_Start 事件中设置会话超时

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

为您登录的特定会话添加这行代码。

【讨论】:

我想延长会话超时时间而不是设置超时时间 如果你想扩展你可以在web.config里改一下吧,顺便问一下你为什么要扩展?你想延长多少时间? 正如我所解释的,如果用户在支付网关页面并且会话超时即将到期,那么我想延长或当用户想延长他的会话超时【参考方案3】:

您可以设置“滑动”会话超时,这将涵盖您的场景。这是一个例子。

How to do both sliding and absolute timeout in asp.net forms authentication

希望这会有所帮助。

【讨论】:

【参考方案4】:

我已经在一些网站上实施了这个解决方案,我们在这些网站上跟踪在线学习访问者/课程持续时间。它会在会话即将到期时提示他们,并给他们 1 分钟的时间单击并保留会话,否则弹出窗口仍然存在,但过期已过,会话已死。非常适合那些在计算机上过期的人,因为弹出窗口会引起他们的注意。

如果他们离开,它也会让他们知道他们已经过期,并且不希望在他们回来时仍然登录。

http://www.experts-exchange.com/Programming/Languages/Scripting/ASP/Q_21208651.html

【讨论】:

以上是关于如何在过期前延长asp.net中的会话超时的主要内容,如果未能解决你的问题,请参考以下文章

如何解决session时间过期

如果会话过期,如何自动重定向? ASP.Net(从 SessionTimeout.aspx 到 Timeout.aspx)

如何让 SignalR 连接尊重会话超时

asp.net cookie、身份验证和会话超时

如何由于 Django 中的不活动而使会话过期?

如何最好地检测 ASP.NET 过期会话?