¿Cuál es el orden de ejecución cuando se trata de filtros de acción .NET MVC 2?
-
24-10-2019 - |
Pregunta
Diga que tengo:
[Attribute1(Order=0)]
public class Controller1
{
[Attribute2]
[Attribute3]
public ActionResult Action1() { ... }
}
Los atributos se ejecutan en el siguiente orden: 2, 3, 1
Esto tiene sentido porque los atributos 2 y 3 tienen un orden de -1 y se ejecutarán antes del atributo 1 que tiene un orden explícitamente establecido igual a 0.
Ahora, digamos que tengo:
[Attribute1]
[Attribute2(Order=0)]
public class Controller1
{
[Attribute3]
public ActionResult Action1() { ... }
}
Los atributos se ejecutan en el siguiente orden: 1, 2, 3
¿Por qué es ese atributo 2 en este caso (que tiene un pedido igual a 0) se ejecuta antes del atributo 3 (que tiene un orden igual a -1)?
Solución
Deben ejecutarse en la Orden 1, 3, 2, tal como usted propuso. Y de hecho, se ejecutan en el orden correcto en mi máquina.
¿Puede proporcionar las definiciones de sus tres atributos? Puede haber algo más en juego aquí.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow