我用 iFrame 编写了一个页面,该页面基本上循环浏览我们服务器上的一系列内部页面,显示我们公司的日常活动。我认为的问题是它偶尔会丢失会话并重定向回登录屏幕以继续丢失会话,这是我们网站上任何人试图在未登录的情况下访问网页的默认行为。
我已将会话超时设置为 4 小时,iframe 循环浏览 6 个页面,每个页面从 10 秒到 5 分钟不等,我什至将页面上的 META 刷新设置为每 3 小时刷新一次。我不明白还有什么可能阻止此页面保持活跃。
我用 iFrame 编写了一个页面,该页面基本上循环浏览我们服务器上的一系列内部页面,显示我们公司的日常活动。我认为的问题是它偶尔会丢失会话并重定向回登录屏幕以继续丢失会话,这是我们网站上任何人试图在未登录的情况下访问网页的默认行为。
我已将会话超时设置为 4 小时,iframe 循环浏览 6 个页面,每个页面从 10 秒到 5 分钟不等,我什至将页面上的 META 刷新设置为每 3 小时刷新一次。我不明白还有什么可能阻止此页面保持活跃。
也许这可以帮助你:keep-session-alive
检查身份验证 cookie 超时。
<authentication mode="Forms">
<forms name="ApplicationLogin" loginUrl="Login.aspx" path="/" protection="All" timeout="240">
</forms>
也许您的应用程序池正在超时。
IIS 优先,但它们处理的场景略有不同。
对于 IIS,应用程序池的默认 20 分钟超时是指传入请求。如果您的应用程序在 20 分钟内根本没有收到任何请求,则应用程序池将进入睡眠状态以节省资源。发生这种情况时,应用程序中的所有会话都消失了。
ASP.NET 会话超时处理每个会话的请求。您的站点可能非常繁忙,但如果一个用户(即会话)在 20 分钟内未处于活动状态,则只会丢弃该会话。
所以是的,要确保会话保持活动状态 60 分钟,您必须更改 IIS 应用程序池以及 web.config 的超时设置。