8

MessageHandler とフィルターを使用して、MVC Web API プロジェクトの要求ヘッダーで API キーをチェックすることの違いは何ですか。

http://www.asp.net/web-api/overview/working-with-http/http-message-handlersに、まさにその目的のための MessageHandler のよく概説された例があることがわかります

例えば

GlobalConfiguration.Configuration.MessageHandlers.Add(new ApiKeyHandler());

しかし、フィルターを使用しても同じことができるようです。

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

ApiKeyFilter と ApiKeyHandler の両方がリクエスト ヘッダーを調べて API キーをチェックすると仮定すると、どちらの方法がより効率的でしょうか? 違いは何ですか?

4

1 に答える 1

6

MessageHandlerは、フィルターよりもはるかに早く実行されます。

順序は次のとおりです。

-MessageHandler

-認証フィルター

-モデルバインディング

-その他のフィルター

セキュリティ関連のものは、できるだけ早く実行する必要があります。

于 2013-02-24T14:55:11.990 に答える