Global.asax中的Session_OnEnd重定向到控制器操作MVC ASP.NET

时间:2014-09-17 14:26:46

标签: c# asp.net asp.net-mvc

我想在会话到期后正常地重定向到动作控制器。在我的Global.asax文件中添加了Session_OnEnd方法。请参阅以下代码:

的Global.asax:

public void Session_OnEnd()
{
    //redirect to controller action here
}

起初我有" Response.RedirectToRoute"在方法内部但抛出异常并且无法在技术上工作。

1 个答案:

答案 0 :(得分:3)

你不能这样做。可以在没有实际HTTP上下文的情况下触发Session_End。在此事件被触发之前,用户可能甚至已经关闭了他的浏览器,因此无处可重定向到。请求和响应对象不可用。

但您可以创建自定义ActionFilter来处理此问题。

Redirect at Session Timeout in Global.asax in mvc4

Detecting Session expiry on ASP.NET MVC

Detecting Session Timeouts using a ASP.Net MVC Action Filter