En ASP.NET MVC, ¿cómo definir en qué secuencia se verifican / aplican mis atributos personalizados?
-
03-07-2019 - |
Pregunta
Actualmente estoy investigando la posibilidad de usar atributos personalizados derivados de ActionFilterAttribute. Quiero lograr un par de cosas con un par de atributos. La cosa es que quiero asegurarme de que uno de los atributos entre en juego primero, y no en una secuencia aleatoria.
Ejemplo:
public class Feature1Attrubute : ActionFilterAttribute
{
/* ... */
}
public class Feature2Attrubute : ActionFilterAttribute
{
/* ... */
}
public class MyController : Controller
{
[Feature1, Feature2]
public ActionResult MyAction ()
{
/* ... */
}
}
¿Es para que los atributos se apliquen en la secuencia que mencionaron en el método de decoración?
Si no, ¿hay una manera de definir una secuencia particular para un grupo de atributos [personalizados]?
Solución
La clase base ActionFilterAttribute
tiene una propiedad llamada Order
. Eso es lo que estás buscando.
public class MyController : Controller
{
[Feature1(Order = 1), Feature2(Order = 2)]
public ActionResult MyAction ()
{
/* ... */
}
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow