ASP.NET MVCでは、カスタム属性がチェック/適用されるシーケンスをどのように定義するのですか?

StackOverflow https://stackoverflow.com/questions/815795

質問

現在、ActionFilterAttributeから派生したカスタム属性を使用する可能性を調査しています。いくつかの属性でいくつかのことを達成したいと思います。問題は、ランダムな順序ではなく、属性の1つが最初に作用するようにすることです。

例:

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