我需要一种方式告诉ASP.NET“在当前会话中重新定向并在重定向到页面之前/之后重新开始一个全新的会话”。让会话在ASP.NET中优雅过期
这里就是我想要做的事:
1)当会话在ASP.NET应用程序的主网页(或Global.asax中)已过期检测。
2)如果会话过期,将用户重定向到一个页面,告诉他们他们的会话已过期。在此页面上,它将等待5秒钟,然后将用户重定向到应用程序的主页面,或者如果他们愿意,他们也可以点击链接以更早到达那里。
3)用户到达主页面并重新开始使用该应用程序。
好的,到目前为止,我已经覆盖了步骤1和2。我有一个通过使用IsNewSession属性和ASP.NET会话ID cookie值检测会话过期的函数。如果它检测到重定向的过期会话,请等待5秒钟,然后尝试转到主页面。
问题是,当它尝试重定向时,它会到达母版页中的部分以检测到期的会话并返回true。我试过调用Session.Abandon(),Session.Clear(),甚至将会话设置为NULL,但没有运气。
以前有人曾经遇到过这个问题,所以我对社区有信心有一个很好的解决方案。提前致谢。
我不知道为什么你有一个问题,为什么要高度重视请求主页时IsNewSession是真实的。到那时你已经有一个请求到某个页面,然后请求“Session expired”,然后到主页面。为什么IsNewSession仍然是真的? – AnthonyWJones 2009-02-03 22:32:10