繁体   English   中英

为什么我的 session 结束了?

[英]Why is my session ending?

我有一个 ASP.NET web 应用程序我正在使用 VS2010 运行,它的 session 超时配置为 20 分钟。
我留下一个页面运行,每 2 分钟调用一次 ajax 并安装了除颤器 使用此设置,session 永远不会过期; 但我发现 20 分钟后我的 session 仍在结束。

有人知道为什么会这样吗? 更重要的是,谁能告诉我当用户在该页面时如何确保 session 永不过期?


编辑:我更改了除颤器,因此它现在在 javascript 中执行此代码: setTimeout("location.href = '/Defibrillator.aspx?nocache=" + Math.floor(Math.random()*100000000001) + "';",60000);
还是一样,所以这不是缓存问题。
我直接从 VS 运行站点(通过调试“播放”按钮),所以它不应该共享应用程序池,对吗?

您是否确认 javascript 正在执行? 检查您的访问日志以查看请求是否存在。

还要检查您的 cookies - 我怀疑 session cookie 可能没有更新,因此您可能需要偶尔重新加载页面以刷新它。

更新:从评论中,听起来浏览器存储的 session cookie 没有被刷新。 我建议定期重新加载页面,或者更改 session 超时。 您必须根据应用程序的使用模式来平衡两者。

最后,我不得不求助于使用 ajax 添加自动保存功能。
StackOverflow 无法给我答案,这是悲伤的一天:(


编辑:我终于找到了导致问题的原因......原来在母版页的某个地方,代码正在调用一个相当模糊的方法,该方法强制执行固定超时......所以它不是你可以拥有的任何东西帮了我。 对于那个很抱歉。

暂无
暂无

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

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