2017-08-18 3 views
2

カスタム属性をWeb APIメソッドに書き込まずに自動的に作成します。 私はそれを達成する方法は何ですか?カスタム属性をWeb APIメソッドに記述せずに自動的に起動するようにしたい

+0

あなたはどのような属性について話していますか?ところで、StackOverflowへようこそ。 –

+0

こんにちは、ありがとう、私はカスタム認証の属性を書いています。ユーザーが認証されていない場合は、ユーザーがさらにアクションを入力して内部サーバーエラーを生成することを許可しないでください。 –

+0

ああ - それは言及する価値がある。 @ Nkosiの答えはフィルター属性を使用していますが、認証属性がここでより正確になります。あなたの質問にはできるだけ多くの文脈を言及してください。 –

答えて

0

あなたはそれが

public class MyApiController : ApiController { 

    [MyApiActionFilter] 
    public IHttpActionResult MyAction() { 
     return Ok(); 
    } 
} 
を使用したいかに応じて、クラスまたはアクションに割り当てることができますが、アクションフィルター属性を持っている私たちは、たとえば言うことで

public class MyApiActionFilterAttribute : FilterAttribute { 
    //... 
} 

をしてみましょう

これはこの操作にのみ適用されます。

ただし、ウェブAPI内のすべての操作(グローバルに)に適用する場合は、設定に追加する必要があります。

GlobalConfiguration.Configuration.Filters.Add(new MyApiActionFilterAttribute()); 

これは、通常、Web APIを設定する起動Webで行われます。

上記を実行すると、フィルタはすべてのリクエストに適用されます。

+0

はいありがとう。それは働いている。 –

関連する問題