/ / FilterAttribute Reihenfolge funktioniert nicht - asp.net-mvc, Attribute

FilterAttribute Auftrag funktioniert nicht - asp.net-mvc, Attribute

Ich habe zwei Attribute, die ich in den Controllern meiner MVC-Anwendung verwende. AttributeA erweitert sich System.Web.Mvc.AuthorizeAttribute und AttributeB erweitert System.Web.Mvc.ActionFilterAttribute. Ich möchte, dass AttributeB immer zuerst ausgeführt wird.

Ich habe alle möglichen Kombinationen von Bestellungen ausprobiert Dieser Artikel, aber AttributeA ist immer Vor AttributeB ausführen. Kann jemand helfen?

Antworten:

6 für die Antwort № 1

Wenn Sie auf die System.Web.Mvc.ControllerActionInvoker.InvokeAction Methode mit Reflektor sehen Sie, dass alle Filter implementieren IAuthorizationFilter werden aufgerufen, bevor Attribute abgeleitet werden ActionFilterAttribut und das, weil die Autorisierung vor dem Aufrufen der Aktion erfolgt.