我目前正在调查使用从ActionFilterAttribute派生的自定义属性的可能性。我想用几个属性完成一些事情。问题是我想确保其中一个属性首先发挥作用,而不是任何随机序列。

示例:

public class Feature1Attrubute : ActionFilterAttribute
{
    /* ... */
}

public class Feature2Attrubute : ActionFilterAttribute
{
    /* ... */
}

public class MyController : Controller
{
    [Feature1, Feature2]
    public ActionResult MyAction ()
    {
        /* ... */
    }
}

是否按照方法修饰中提到的顺序应用属性?

如果没有,有没有办法为一组[自定义]属性定义特定序列?

有帮助吗?

解决方案

基类 ActionFilterAttribute 有一个名为 Order 的属性。这就是你要找的东西。

public class MyController : Controller
{
    [Feature1(Order = 1), Feature2(Order = 2)]
    public ActionResult MyAction ()
    {
        /* ... */
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top