排名
                
                
                    6
                
            
                    文章
                
                
                    6
                
            
                    粉丝
                
                
                    16
                
            
                    评论
                
                
                    8
                
            
            {{item.articleTitle}}
            
    {{item.blogName}} : {{item.content}}
        
            ICP备案  :渝ICP备18016597号-1
        
        
            网站信息:2018-2025TNBLOG.NET
        
        
            技术交流:群号656732739
        
        
            联系我们:contact@tnblog.net
        
        
            公网安备: 50010702506256
50010702506256
        
     50010702506256
50010702506256
         
        
            欢迎加群交流技术
        
     分类:
    .net mvc
    
    分类:
    .net mvc
过滤器是一种面向切面的编程思想
可以再不影响原来的逻辑基础上增加自己的逻辑
IActionFilter: action执行之前与执行之后执行的
IAuthorizationFilter:针对性用来处理权限相关过滤器
IExceptionFilter: 发现异常的时候会执行
IResultFilter: action返回值的阶段执行,时间节点比较晚,可以把返回值进行一些控制,相对来说使用比较少。
全局过滤器
FilterConfig注入的过滤器就是全局的
过滤器限制控制器级别,过滤器需要是一个特性类(FilterAttribute)
使用时需要引入命名空间,设置过后,过滤器则只对本控制器中的视图产生限制

放在视图上也是同样的道理(只对本视图产生限制)
IActionFilter过滤器(执行前执行后)
    public class MyActionFilter: FilterAttribute, IActionFilter
    {
        public void OnActionExecuted(ActionExecutedContext filterContext)
        {
            //action执行之后运行此部分
        }
        public void OnActionExecuting(ActionExecutingContext filterContext)
        {
             //action执行之前运行此部分
        }
    }IAuthorizationFilter过滤器(执行前)
public class MyActionFilter : FilterAttribute, IAuthorizationFilter 
        {
            public void OnAuthorization(AuthorizationContext filterContext)
            {
               //运行之前会执行此部分(一般用来处理相关权限)
            }
        }IExceptionfilter过滤器(异常处理)
 public class MyActionFilter : FilterAttribute, IExceptionFilter
        {
            public void OnException(ExceptionContext filterContext)
            {
               //出现异常将会运行到此部分
               
               //异常信息
               string message = filterContext.Exception.Message;
               
               //设置异常是否处理,true将不会输出错误信息(防止异常被用户看到)
                filterContext.ExceptionHandled = true;
            }
        }IResultFilter过滤器(使用较少)用于从操作成功返回操作结果的执行的筛选器。
  public class MyActionFilter : FilterAttribute, IResultFilter
    {
        //在操作结果执行之后调用。
        public void OnResultExecuted(ResultExecutedContext filterContext)
        {
        }
        //在操作结果执行之前调用。
        public void OnResultExecuting(ResultExecutingContext filterContext)
        {
        }
    }                                                                            

评价
    
 
         
        