Переопределить определенный фильтр действийC#

Место общения программистов C#
Ответить
Anonymous
 Переопределить определенный фильтр действий

Сообщение Anonymous »

В моем приложении 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
}
}
}
У меня также есть CustomValidatorFilter, настроенный в конфигурации webApi:

Код: Выделить всё

config.Filters.Add(new CustomValidatorFilterAttribute());
В некоторых действиях моего контроллера я хочу переопределить поведение MyActionFilterAttribute, установив для значения MyProperty значение false, я добавил OverrideActionFilters к моему действию:

Код: Выделить всё

[OverrideActionFilters]
[MyActionFilterAttribute(myProperty: false)]
public IHttpActionResult MyCation()
{
//Some staff here
}
Но теперь моя пользовательская проверка больше не работает из-за использования OverrideActionFilters. Есть ли способ переопределить OverrideActionFilters или просто перечислить фильтр для переопределить.
Спасибо за помощь.

Подробнее здесь: https://stackoverflow.com/questions/537 ... ion-filter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»