【发布时间】:2014-08-21 10:01:26
【问题描述】:
C# MVC4 项目:我想在会话到期时重定向到特定页面。
经过一番研究,我将以下代码添加到我项目中的Global.asax:
protected void Session_End(object sender, EventArgs e)
{
Response.Redirect("Home/Index");
}
当会话过期时,它会在Response.Redirect("Home/Index"); 行抛出异常,说The response is not available in this context
这里有什么问题?
【问题讨论】:
-
你正在使用formsauthentication..???
-
@Exception,我不确定,但我不这么认为
-
没有人解释为什么会这样。与 global.asax 中的许多其他事件不同,
Session_End事件不会在当前请求的上下文中发生 - 它是在正常运行时间之外发送到应用程序的偶数 - 因此您不能发出重定向要求。通常,此事件用于允许应用程序从刚刚结束的会话中清理资源。在请求期间很难发生这种情况,因为请求所做的第一件事就是激活会话。
标签: asp.net-mvc-4 session session-timeout