In ASP.NET MVC, come definire in quale sequenza vengono controllati / applicati i miei attributi personalizzati?
-
03-07-2019 - |
Domanda
Attualmente sto studiando la possibilità di utilizzare attributi personalizzati derivati ??da ActionFilterAttribute. Voglio realizzare un paio di cose con un paio di attributi. Il fatto è che voglio assicurarmi che uno degli attributi entri in gioco per primo, e non in una sequenza casuale.
Esempio:
public class Feature1Attrubute : ActionFilterAttribute
{
/* ... */
}
public class Feature2Attrubute : ActionFilterAttribute
{
/* ... */
}
public class MyController : Controller
{
[Feature1, Feature2]
public ActionResult MyAction ()
{
/* ... */
}
}
È così che gli attributi vengono applicati nella sequenza menzionata nella decorazione del metodo?
In caso contrario, esiste un modo per definire una sequenza particolare per un gruppo di attributi [personalizzati]?
Soluzione
La classe base ActionFilterAttribute
ha una proprietà chiamata Order
. Questo è quello che stai cercando.
public class MyController : Controller
{
[Feature1(Order = 1), Feature2(Order = 2)]
public ActionResult MyAction ()
{
/* ... */
}
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow