[英]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.