首页新闻找找看学习计划

.net core mvc 单个action如何忽略全局过滤器或者控制器级别过滤器?

0
[已解决问题] 解决于 2019-04-15 17:28

services.AddMvc(options =>
{
options.Filters.Add<HttpGlobalExceptionFilter>();
})

注册了一个全局过滤器,如何通过在单个action上添加特性,或者其它方法来控制这个action不执行这个过滤器

Something_Diffrent的主页 Something_Diffrent | 初学一级 | 园豆:188
提问于:2018-05-09 11:28
< >
分享
最佳答案
3

1、定义一个Attribute

public class SkipMyGlobalActionFilterAttribute : Attribute
{
}

2、在GlobalFilter里面写

public class MyGlobalActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (filterContext.ActionDescriptor.GetCustomAttributes(typeof(SkipMyGlobalActionFilterAttribute), false).Any())
        {
            return;
        }

        // here do whatever you were intending to do
    }
}
奖励园豆:5
爱编程的大叔 | 高人七级 |园豆:29841 | 2018-05-09 12:54

大哥机智啊

Something_Diffrent | 园豆:188 (初学一级) | 2019-04-15 17:26
其他回答(1)
0
dudu | 园豆:39830 (高人七级) | 2018-05-09 13:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册