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

本文关键字:操作 控制器 MVC ASP NET 重定向 中的 asax Session OnEnd Global | 更新日期: 2023-09-27 18:22:08

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

Global.asax:

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

起初,我在方法中有"Response.RRedirectToRoute",但抛出了一个异常,从技术上讲无法工作。

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

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

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

在mvc4 中的Global.asax中的会话超时时重定向

检测ASP.NET MVC 上的会话过期

使用ASP.Net MVC操作筛选器检测会话超时