0

API でバージョン管理を処理するカスタム HttpControllerSelector を作成しています。github の SDammann.WebApi.Versioning ライブラリを確認しましたが、実行すると、すべてのリクエストでルーティング ディクショナリが読み込まれているように見えました。デフォルトのものはこれを行いますか、それとも Sdammann ライブラリの設計上の欠陥ですか?

コントローラーが多数ある場合、リクエストごとにこのディクショナリを設定すると、パフォーマンスが低下しますか? これを行う別の方法はありますか?

4

1 に答える 1

2

コントローラセレクタは、ルートデータを入力する必要はありません。ルーティングはルートデータを入力します。デフォルトのパイプラインが機能する方法は次のようなものです。

ルーティングの実行-一致するルートを見つけ、「コントローラー」、「アクション」、その他のパラメーターなどの値をルートデータに入力しますコントローラーセレクターの実行-「コントローラー」ルートパラメーターのルートデータを調べ、そのコントローラー名を使用して把握します使用するコントローラーの種類

次に、フレームワークは選択されたコントローラータイプを使用してリクエストをディスパッチします

于 2013-01-18T00:02:14.577 に答える