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)