Asp.net mvc ASP.NET MVC检查控制器或操作中的自定义属性

Asp.net mvc ASP.NET MVC检查控制器或操作中的自定义属性,asp.net-mvc,custom-attributes,Asp.net Mvc,Custom Attributes,考虑以下代码: public class MyAttribute : Attribute { } [MyAttribute] public class MyControlller : Controller { //... } 现在我有了一个全局操作过滤器,它为我提供了一个ActionExecutingContext对象 我的问题是,在这里,如何检查请求的控制器是否已使用我的自定义属性装饰 或 如果您的筛选器已注册为“全局”筛选器,则默认情况下,对所有控制器操作的所有请求都将通

考虑以下代码:

public class MyAttribute : Attribute {  }

[MyAttribute]
public class MyControlller : Controller
{
      //...
}
现在我有了一个
全局操作过滤器
,它为我提供了一个
ActionExecutingContext
对象

我的问题是,在这里,如何检查请求的
控制器是否已使用我的自定义
属性装饰


如果您的筛选器已注册为“全局”筛选器,则默认情况下,对所有控制器操作的所有请求都将通过您的筛选器。@Matt,我明白这一点,这就是我要做的。但我想排除一些基于控制器或动作的逻辑。因此,我认为最好为这样的操作或控制器设置一个属性,并在filter方法中检查相同的属性以排除所需的逻辑。
actionExecutingContextInstance.Controller.GetType().GetCustomAttributes(typeof(MyAttribute), false).Length > 0)  
actionExecutingContextInstance.ActionDescriptor.GetCustomAttributes(typeof(MyAttribute), false).Length > 0)