Да, вы можете сделать это, но это не так, как это работает из коробки. Я сделал следующее:
- Создайте базовый класс контроллеров и наследуйте от него все ваши контроллеры
- Создание атрибута фильтра действий и его наследование от FilterAttribute и IActionFilter
- Украсьте свой базовый класс контроллера новым атрибутом фильтра действий
Вот пример атрибута фильтра действий:
public class SetCultureAttribute : FilterAttribute, IActionFilter
{
#region IActionFilter implementation
public void OnActionExecuted(ActionExecutedContext filterContext)
{
//logic goes here
}
public void OnActionExecuting(ActionExecutingContext filterContext)
{
//or logic goes here
}
#endregion IActionFilter implementation
}
Вот пример базового класса контроллера с этим атрибутом:
[SetCulture]
public class ControllerBase : Controller
{
...
}
Используя этот метод, пока ваши классы контроллеров наследуются от ControllerBase, тогда фильтр действий SetCulture всегда будет выполняться. У меня есть полный пример и сообщение об этом в моем блоге , если вы хотите немного подробнее.
Надеюсь, это поможет!