为什么我的会话结束?

时间:2011-06-29 15:11:53

标签: c# asp.net session

我有一个ASP.NET Web应用程序,我正在运行VS2010,会话超时配置为20分钟 我让一个页面运行,每2分钟执行一次ajax调用并实现defibrillator。使用此设置,会话永远不会过期;然而我发现20分钟后我的会议仍在结束。

有人知道为什么会这样吗?更重要的是,任何人都可以告诉我如何在用户进入该页面时确保会话永不过期吗?


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

2 个答案:

答案 0 :(得分:1)

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

同时检查你的cookie - 我怀疑会话cookie可能没有得到更新,所以你可能需要偶尔重新加载页面才能刷新它。

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

答案 1 :(得分:-1)

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


编辑:我终于找到导致问题的原因了......事实证明,在母版页的某个地方,代码调用的是一个相当模糊的方法,强制执行固定的超时...所以它不是什么你可以帮助我。对不起。