В моем приложении WebApi 2 в базовом контроллере есть атрибут фильтра действий, этот атрибут имеет логическое свойство со значением по умолчанию, которое можно установить в конструкторе:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class MyActionFilterAttribute : ActionFilterAttribute
{
public bool MyProperty {get; set;}
public MyActionFilterAttribute(bool myProperty = true)
{
MyProperty = myProperty;
}
public override void OnActionExecuting(HttpActionContext actionContext)
{
if(MyProperty)
{
//DO Something
}
}
}
I 'Кроме того, CustomValidatorFilter
настроено в конфигурации webApi:
config.Filters.Add(new CustomValidatorFilterAttribute());
В некоторых действиях моего контроллера я хочу переопределить поведение MyActionFilterAttribute, установив значение MyProperty
в false
, I 'мы добавили OverrideActionFilters
к моему действию:
[OverrideActionFilters]
[MyActionFilterAttribute(myProperty: false)]
public IHttpActionResult MyCation()
{
//Some staff here
}
Но теперь моя пользовательская проверка больше не работает из-за использования OverrideActionFilters
, есть ли способ переопределить OverrideActionFilters или просто перечислитьфильтр для переопределения.Спасибо за вашу помощь.