gpt4 book ai didi

ASP.NET 2.0 session 超时

转载 作者:行者123 更新时间:2023-12-04 06:50:05 25 4
gpt4 key购买 nike

已经有人在此论坛中提出了有关 session 超时的问题。如果有人能再次澄清这一点,将不胜感激。

我有一个 asp.net 2.0 应用程序,如果用户没有做任何事件并按下页面上的按钮(他被重定向到 sessionExpired.aspx 页面),它会在 15-20 分钟后超时。我已在 web.config 文件中将 session 超时设置为 60 分钟,但用户仍然以某种方式超时。

我还有另一个与 session 超时优先级相关的问题。 IIS session 超时是否优先于 ASP.NET session 超时。假设 IIS session 超时设置为 20 分钟,ASP.NET session 超时设置为 60 分钟,ASP.NET 是否会覆盖 IIS session 超时。

最佳答案

IIS 优先,但它们处理的情况略有不同。

对于 IIS,应用程序池的默认 20 分钟超时是指传入请求。如果您的应用程序在 20 分钟内根本没有收到任何请求,则应用程序池将进入休眠状态以节省资源。发生这种情况时,应用程序中的所有 session 都消失了。

ASP.NET session 超时处理每个 session 的请求。您的站点可能非常繁忙,但如果一个用户(即 session )在 20 分钟内未处于事件状态,则只会丢弃该 session 。

所以是的,要确保 session 保持事件状态 60 分钟,您必须更改 IIS 应用程序池以及 web.config 的超时设置。

解决此问题的另一种方法是定期向服务器发送一个小的 AJAX“ping”(即带有随机 ID 的页面请求以防止浏览器缓存)。这样,只要用户不关闭浏览器, session 就会被保留。

关于ASP.NET 2.0 session 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3261117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com