0

マルチテナントの MVC4 Web サイトがあり、受信ホストとドメイン名 (例: www.domain1.comwww.domain2.comwww.domain3.co.ukなど) に従ってRouteTableを設定したいホストおよびドメイン anem に従ってルート テーブルに追加される値。

DNS サーバーは、ホストを含​​む多数の個別のゾーンでセットアップされており、Visual Studio 2012 開発サーバーを使用するのではなく、IIS7 を「カスタム Web サーバー」として使用しています。リクエスト変数。

私が IIS7 で抱えている問題は、他のすべてのルート マッピングが行われるRegisterRoutesメソッドで呼び出そうとすると、HttpContext.Current.Request.ServerVariables["HTTP_HOST"] の値が利用できないことです。

主に行う必要があるのは、要求パイプラインのある時点で、最終的に HTTP_HOST サーバー変数に格納される値を決定することです。その値は保存する必要があり、使用する前にルート テーブルを適切に更新する必要があります。

Http モジュール、Http ハンドラー、アクション フィルターなどは必要ですか? または、MVC パイプラインにこれ​​を実行できる他の場所がありますか。

クリスピン

4

1 に答える 1

0

私が認識しているホストに基づくルーティングの組み込みサポートはありませんが、ホスト値を取り込む Route サブクラスを作成できます。以下に例を示します。

http://blog.maartenballiauw.be/post/2009/05/20/aspnet-mvc-domain-routing.aspx

これは MVC3 用に書かれていますが、MVC4 でも問題なく動作するはずです。

于 2012-11-11T14:27:15.137 に答える