2

したがって、私の MVC アプリケーションは、たとえば を閲覧したばかりのユーザーからリクエストを受け取ります/home/about。一致するパターンをチェックRouteTableし、正しいコントローラーとアクションにディスパッチします。偉大な。

その機能を引き継ぐ場合はどうすればよいですか? URL を書き換えたくありませんRouteData。フィルター コンテキストなどでプロパティを台無しにしたくありません。MVC アプリケーションによって、ルート X がコントローラー Y とアクション Z に変換される部分を引き継ぎたいと考えています。のようなものMyRouteResolver : IRouteResolver(実際に存在する場合)。

私はMSDNを掘り下げてきましたが、これがどこで行われたかについてのヒントを見つけることができません. どんな助けでも大歓迎です。

4

1 に答える 1

2

同じことを効果的に行う http ハンドラー/モジュールを作成できます。System.Web.Routing.UrlRoutingHandler を見て、その方法を確認してください。

ただし、1 つの問題は、ルートの URL を検索するための MVC 内のすべての呼び出し (UrlHelper など) が機能しないことです。それらはすべて静的ルート コレクションを取得するためにハードコードされています。そのルート コレクションを埋めて機能させることはできますが、フロー ルーティング ハンドラーを使用することで何が得られるかはわかりません。

現在のルーティング ハンドラーはかなり柔軟です。ハンドラー全体を置き換える代わりに、独自のルート クラス (RouteBase を参照) を作成できる可能性があります。

于 2012-10-06T19:31:58.647 に答える