私はすべての着信要求と発信応答をASP.NET WebAPIプロジェクトに記録しようとしています。私がDelegatingHandler
と同意している間、私の雇用者はHttpModule
を使用することを主張します。あなたは彼女に説明してください。DelegatingHandler
で、HttpModule
ではないのはなぜですか?または私は間違っていますか?HttpModuleとDelegatingHandler - 利点/欠点?
答えて
私はDelegatingHandlerを使用します。 DelegatingHandlerはWeb APIパイプラインの一部であり、任意のホストで実行できます。 HttpModuleはWeb APIの一部ではなく、IISが必要です。
直接あなたの質問に関連していないが、私は違いを含め2を強調し、次のMSDN記事から引用するつもりです:
HTTPモジュールこれは、IIS上で実行されているWeb APIのオプションです。 。 HTTP モジュールは、セキュリティコードがIIS パイプラインの一部として早期に実行されるようにします。 HTTPモジュールから確立されたプリンシパルは、後で パイプラインで実行されるIISコンポーネントを含む、すべてのコンポーネントに対して利用可能な です。たとえば、AuthenticateRequestイベントに応答してHTTP モジュールによってプリンシパルが確立されると、プリンシパルは ログのcs-usernameフィールドに正しくログされます。ユーザー名は です。 HTTPモジュールの最大の欠点は、 粒度の欠如です。 アプリケーションに入るすべての要求に対してHTTPモジュールが実行されます。 などの異なる機能を持つWebアプリケーションの場合、HTTPモジュール の認証を一方向に強制するHTMLマークアップの生成、Web APIなどは一般的には柔軟性がありません。つまり、 のアプローチです。 HTTPモジュールを使用する際のもう1つの欠点は、この場合はホスト-IISCに の依存関係があることです。 ASP.NETのWeb APIで提供さ
メッセージハンドラ拡張オプションは、 は、セキュリティのためのメッセージハンドラを使用する際の最大の利点は、それは、それゆえ、しないのASP.NET Web APIフレームワークの 概念だと基盤となるホストまたはサーバーに依存します( )。また、メッセージハンドラは、 Web API要求に対してのみ実行されます。メッセージハンドラを使用することの欠点は、細かい制御の欠如である です。メッセージハンドラは、すべての要求または特定のルートに対して グローバルハンドラとして実行するように設定できます。与えられた ルートの場合、複数のコントローラを持つことができます。これらのすべてのコントローラとそれらに含まれるアクションメソッドの は、そのルート用に設定されたメッセージハンドラによって強制される同じ認証 を共有する必要があります。他の ワードでは、メッセージハンドラ によって実装された認証の最小単位はルートレベルです。
- 1. gwt + grail ..利点と欠点
- 2. ロスレス圧縮の利点と欠点?
- 3. Javascript:壊れたリンクチェッカー - 利点と欠点
- 4. NemoJs対NightWatchJS?利点と欠点
- 5. Android NDKの利点と欠点
- 6. プライベートレポの利点/欠点の管理
- 7. CreateFileとSteamの利点と欠点の比較
- 8. プロキシキャッチサーバーを使用する利点と欠点は何ですか?
- 9. Jsonオブジェクト用に生成されたC#クラスの利点と欠点
- 10. 配列を使ってリンクリストを実装する - 利点と欠点
- 11. Nginxの画像キャッシュの欠点と欠点は何ですか?
- 12. フォースインデックスの欠点
- 13. linqの欠点
- 14. リアクティブプログラミングでのアグレッシブタイムアウトの利点利点
- 15. 利点
- 16. 利点
- 17. 利点
- 18. 利点
- 19. Tomcatの欠点Http11NioProtocol
- 20. Context.Currentパターンの欠点?
- 21. CRUDパターンの欠点
- 22. Entity Framework DBSetの主要な利点と利点<MappingTable>
- 23. NSCodingでオブジェクトをエンコードする、またはファイルにデータを書き込むことの利点と欠点
- 24. 利点は
- 25. ジェネリックコンストラクタの利点
- 26. 利点、GORM
- 27. Auth0の利点
- 28. リポジトリパターンの利点
- 29. MVC利点
- 30. directExecutorの利点