Как получить список зарегистрированных GlobalFilters в ActionFilter

#asp.net-mvc

#asp.net-mvc

Вопрос:

Я создал пользовательский ActionFilterAttribute и я хочу что-то делать, когда действие украшается каким-либо атрибутом. Я могу получить атрибут метода действия и атрибут контроллера. но не могу найти атрибуты, которые регистрируются в FilterConfig .

Как их найти?

Мой код:

 public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    filters.Add(new SomeFilterOrAttribute());
} 
  

и

 public class BeforeActionAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        var actionAttributes = filterContext.ActionDescriptor.GetCustomAttributes(true);
        var controllerAttributes = filterContext.ActionDescriptor.ControllerDescriptor.GetCustomAttributes(true);

        // How can get list of registered global filters or attributes? 
    }
}
  

Ответ №1:

GlobalFilters класс позволяет извлекать глобальную коллекцию фильтров, а также изменять ее

 //requires "using System.Linq"
var globalFilters = GlobalFilters.Filters.ToList();
  

Комментарии:

1. Спасибо. Но почему я не нашел его сам?