C# 从Global.asax.cs重定向继续到原始路线

C# 从Global.asax.cs重定向继续到原始路线,c#,redirect,model-view-controller,routes,global-asax,C#,Redirect,Model View Controller,Routes,Global Asax,我正在尝试从global.asax.cs页面重定向到指定页面。我知道重定向是有效的,因为调试器在视图中遇到了断点。问题是,应用程序在第一次转到新路线后会转到原始路线。我是不是错过了一个命令让它停在新路线上? 以下是会话启动方法中的代码: Employee emp = Work.GetEmployee(userName); if (emp.Id == 0) { Response.Clear(); RouteData rd = new RouteData(); rd.Valu

我正在尝试从global.asax.cs页面重定向到指定页面。我知道重定向是有效的,因为调试器在视图中遇到了断点。问题是,应用程序在第一次转到新路线后会转到原始路线。我是不是错过了一个命令让它停在新路线上? 以下是会话启动方法中的代码:

Employee emp = Work.GetEmployee(userName);
if (emp.Id == 0)
{
    Response.Clear();
    RouteData rd = new RouteData();
    rd.Values.Add("controller", "Error");
    rd.Values.Add("action", "UserNotFound");

    IController errorController = new ErrorController();
    errorController.Execute(new RequestContext(
        new HttpContextWrapper(Context), rd));
}
else
{
    HttpContext.Current.Session["CurrentUser"] = emp;
    AppAdminWork.SetUsersCurrentApplications(emp);
}

非常感谢您的帮助

建议在动作过滤器中执行此操作——这样你就不会反对框架。好的建议,我已经朝着这个方向前进了。我最终重构了我的代码以使用动作过滤器,在控制器级别将其应用于除ErrorController之外的所有控制器。工作起来很有魅力。谢谢@dbugger!!!不客气--您是否添加了基本控制器以保存一些复制和粘贴?