2

こんにちは、単純なサブドメイン リクエストを処理できる MVC3 アプリを構築したいと考えています。問題は、ルーティングのセットアップと、ネイティブ mvc3 Html 拡張 ( ActionLinks、Url.Content、Html.BeginForm、Ajax.BeginForm )内の正しいパスの生成にあります。

だから..私は次の構造を持っています:

                   myDomain.com   // HomeController
                        |
Bar.myDomain.com <------|-------> Foo.myDomain.com
// BarController                  // FooController

HomeControllermyDomain.comにマップされ、そのルートは次のようになります。

myDomain.com                  // myDomain.com/{controller}/{action}  -- with defaults
myDomain.com/Home/Index       // myDomain.com/{controller}/{action}
myDomain.com/Home/Index/Id    // myDomain.com/{controller}/{action}/{id}
myDomain.com/en/Home/Index    // myDomain.com/{language}/{controller}/{action}
myDomain.com/en/Home/Index/Id // myDomain.com/{language}/{controller}/{action}/{id}

BarControllerは、次のルート でBar.myDomain.comにマップされます。

Bar.myDomain.com               // {Controller}.myDomain.com/{action}  -- with defaults
Bar.myDomain.com/Index         // {Controller}.myDomain.com/{action}
Bar.myDomain.com/Index/Id      // {Controller}.myDomain.com/{action}/{id}
Bar.myDomain.com/en/Index      // {Controller}.myDomain.com/{language}/{action}
Bar.myDomain.com/en/Index/Id   // {Controller}.myDomain.com/{language}/{action}/{id}

FooControllerはBarControllerと同じです

問題:

サブドメイン リクエストのすべての HtmlHelpers は、次のようなパスを生成しています。

href="Bar.myDomain.com/en/Bar/Index"
href="Bar.myDomain.com/Bar/Index"

それ以外の:

href="Bar.myDomain.com/en/Index"
href="Bar.myDomain.com/Index"

ルートに応じて、どこでどのようにパスを制御するか。

注 1.: AddressBar 内の URL は正常に生成されます。問題はパスだけです。

注 2.: IIS 7.0 統合パイプラインに注目してください

注 3.:私のインスピレーションの源は --->>ここからです

ありがとうございました!

4

0 に答える 0