都说在Global注册,public static void RegisterGlobalFilters(GlobalFilterCollection filters){}    但是,GlobalFilterCollection根本找不到这个类呀,是MVC3以后才有这个类吗?mvc全局过滤器

解决方案 »

  1.   

    那是mvc的吗? 那是asp.net piple line的。在gloable.asax里,或者写一个httpmodule,注册一个事件:AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(OnUnhandledException);往上一大堆用application_onError, Server.GetLastError等方法的,估计都不如直接用这个appdomain的
      

  2.   

    新建一个Error控制器并重写异常处理
    protected override void OnException(ExceptionContext filterContext)
            {            
                // 执行基类中的OnException
                base.OnException(filterContext);
            }//崩溃型错误
            public ActionResult Index()
            {
                return View();
            }        //找不到页面
            public ActionResult NotFound()
            {
                return View();
            }        //错误信息提示
            public ActionResult Message(string msg)
            {
                ViewData["ErrorMessage"] = msg;
                return View();
            }然后在web.config里设置相应的错误指向的action就可以了吧。
    <customErrors mode="On" defaultRedirect="/Error/Index">
          <error redirect="/Error/NotFound" statusCode="404"/>
        </customErrors>