ASP.NET MVCでのURL生成の拡張ポイントは何ですか?
- ルート-仮想パスはそれに依存します
- ???
補遺1
特に、URLのパス部分だけでなく、ホストも制御する必要があります。そして、生成ロジックをMVC Frameworkに埋め込んで、標準Html.ActionLink
メソッドの呼び出しにロジックが含まれるようにしたいと思います。それは完璧でしょう。ただし、MVCソースを調査することで、簡単な方法で目標を達成することができます。
ASP.NET MVCでのURL生成の拡張ポイントは何ですか?
補遺1
特に、URLのパス部分だけでなく、ホストも制御する必要があります。そして、生成ロジックをMVC Frameworkに埋め込んで、標準Html.ActionLink
メソッドの呼び出しにロジックが含まれるようにしたいと思います。それは完璧でしょう。ただし、MVCソースを調査することで、簡単な方法で目標を達成することができます。
実際、RouteはURL生成中にVirtualPath部分のみを提供するため、目的の柔軟性に到達することは不可能です。
ルートはほとんどそこにあります。ただし、Routeをサブクラス化し、Key /ValueURIテンプレートを使用しない独自の実装を提供できることを忘れないでください。
独自のソリューションをゼロから作成することを妨げるものは何もありませんが、作業するための拡張可能な基盤がすでに存在するため、あまり意味がありません。
特定のケースでは、ホストに関連する追加のRouteDataアイテムを設定する独自のルートを作成する必要があります。あなたのURLを解析することは完全にあなた次第です。
「{ホスト}/{コントローラー}/{アクション}」
また、ホストパラメータを必須にするカスタムルートハンドラを作成することもできます。しかし、それはすでにあなたの特定のニーズに依存します。
ドメインルーティングに関するこの記事は、あなたの助けになるかもしれません。それは素直でシンプルに見えます。