1

受信パラメーターのカスタム FilterAttribute を作成することは可能ですか? ほとんどの属性はメソッドとクラスに使用されます。

たとえば、私の考えは次のとおりです。

public HttpResponseMessage GetAll([CultureInfo]string culture)

{ if(valid) { // code here } }

CultureInfo は、OnActionExecuted と OnActionExecuting という 2 つのメソッドを使用できる ActionFilterAttribute から継承するクラス (CultureInfoAttribute) です。私のクラスの上に、次の属性を使用したので、パラメーターで使用できます。

[AttributeUsage(AttributeTargets.Parameter)]

ビルドして GetAll("culture") を呼び出すと、カスタム フィルターのメソッド OnActionExecuting が呼び出されません。メソッド GetAll() の上に属性を配置すると呼び出されます。

誰でも経験がありますか?

私がこれをしたい理由は、一度にメソッド全体ではなく、さまざまなパラメーターに属性を配置できるからです。

4

1 に答える 1

0

あなたの質問はここで答えられると思います:

GlobalFilters次のGlobal.asax.csようにフィルターを登録する必要があります。

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    filters.Add(new HandleErrorAttribute());
    filters.Add(new CultureInfoAttribute());
}
于 2013-02-05T11:11:03.950 に答える