#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. Спасибо. Но почему я не нашел его сам?