Depuis asp.net mvc a beaucoup changé depuis Novembre, quelqu'un at-il une solution à cette question:Comment faire ActionFilter sur la méthode d'action ont préséance sur le même contrôleur ActionFilter
Resolve FilterAttributes On Controller And Action
Phil dit un ActionFilter sur un contrôleur est juste un raccourci pour appliquer l'attribut à toutes les méthodes d'action du contrôleur, et c'est vrai, si je mets le même attribut ActionFilter sur le contrôleur et sur une méthode d'action, il s'exécutera deux fois. Mais cela ne semble pas être un comportement naturel puisque le compilateur ne vous laissera même pas placer le même attribut directement sur une méthode plusieurs fois.
Un filtre d'action peut-il remplacer un filtre du contrôleur afin qu'un filtre puisse être appliqué à toutes les exceptions d'actions pour 1 action spécifique? – David
Oui, un filtre d'action permet de remplacer un filtre du contrôleur. Si vous commandez les filtres, vous pouvez faire exécuter votre filtre Action avant le filtre de votre contrôleur et annuler l'action. L'annulation d'une action peut être effectuée en définissant ActionExecutingContext.Result sur une valeur non nulle. (Note: ActionExecutingContext.Cancel a été déprécié) – robertz
Il semble que la définition du résultat de ActionExecutingContext empêche tous les autres événements OnActionExecuting de se déclencher, pas seulement ceux du même ActionFilter. – JeremyWeir