从global.asax中的Session_end重定向到另一个页面

时间:2013-04-01 07:32:28

标签: c# .net global-asax sessionend

我需要在会话超时时将用户重定向到登录页面。 global.asax中Session_End方法的问题是:

  1. 它不支持Response.Redirect或Server.Transfer
  2. 任何使用HttpContext.Current.Response结果的尝试在'对象引用未设置为对象的实例'错误
第二个错误是可以理解的,因为在会话超时时,当前会话将终止并设置为null。
我想知道的是,是否可以将用户直接(特别是)从session_end重定向到另一个页面。有些方法可以工作(不使用session_end方法),但所有这些方法都需要向服务器发出请求(例如刷新,我不想要)。我可以不使用javascript这样做吗?(更重要的是,我应该吗?)
提前致谢!

1 个答案:

答案 0 :(得分:1)

是不是在服务器上直接引发了Session_End,没有来自用户的任何交互?

当我进入您的页面(并开始会话),关闭浏览器窗口并且永不返回时会发生什么?那么可以理解,HttpContext.Current.Response为空。