Qual è l'ordine di esecuzione quando si tratta di filtri .NET MVC 2 di azione?
-
24-10-2019 - |
Domanda
Dire che ho:
[Attribute1(Order=0)]
public class Controller1
{
[Attribute2]
[Attribute3]
public ActionResult Action1() { ... }
}
Gli attributi vengono eseguiti nell'ordine seguente: 2, 3, 1
Questo ha senso perché attributi 2 e 3 hanno un ordine di -1 e sarà eseguito prima attributo 1 che ha un ordine esplicito posto uguale a 0.
Ora, diciamo che ho:
[Attribute1]
[Attribute2(Order=0)]
public class Controller1
{
[Attribute3]
public ActionResult Action1() { ... }
}
Gli attributi vengono eseguiti nell'ordine seguente: 1, 2, 3
Perché è quell'attributo 2 in questo caso (che ha un ordine uguale a 0) viene eseguita prima attributo 3 (che ha un ordine uguale a -1)?
Soluzione
Si deve essere eseguito nell'ordine 1, 3, 2, proprio come si era proposto. E infatti, eseguono nell'ordine corretto sulla mia macchina.
Si può fornire delle definizioni dei tre attributi? Ci potrebbe essere qualcos'altro in gioco qui.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow