2016-03-23 12 views
0

私はasp.net mvc 5アプリケーションを持っています。 このアプリケーションは、asp.net mvc 5属性ルーティングを使用していました。すべての私は例えば「/ myappに/ org_code/restoftheroutes/ のようなトップレベルのルートプレフィックスを持つルーティングでサブドメインに変換するASP MVCルーティングURLは、サイト全体を切断します。提案が必要な方法

https://myapp.com/apple/register/112 https://myapp.com/google/register/112

ここorg_codeがルートのパラメータであるクライアントごととして今

。 。私は

と同様にサブドメインに異なるorg_codeを配置する必要があり要求:https://apple.myapple.com/register/112

0: https://myapp.com/apple/register/112はに変換されます私は https://myapp.com/applehttps://apple.myapple.comを指摘したが、CSSや画像のように私の静的コンテンツは、アプリのルートとして負荷をdoes'tことをやっているDNSに

https://myapp.com/apple代わりのhttps://myapp.com

はどのようにこれを解決するには私の提案を与えてくださいとなり。

答えて

1

残念ながら、MVC 5属性ルーティングはサブドメインをサポートしていません。ただし、それが基にしているAttributeRouting Nugetパッケージは機能します。幸いにも、あなたのプロジェクトでは両方を同時に使うことができますが、コントローラごとにどちらか一方しか使えません。

AttributeRouting Nugetがサブドメインを処理する方法はエリア経由であるため、マップするサブドメインごとにプロジェクト内に領域を作成する必要があります。これは問題に見えるかもしれませんが、Razorは常にビューの検索のためにルートViewsフォルダーにフォールバックするため、ビューを含む領域間で多くのコードを共有できます。この領域に固有のものを作成する必要があるのは、1つ以上のコントローラですが、これらのコントローラは共通のベースコントローラから継承することができ、実際のコントローラコードを共有することができます。 AttributeRouting Nugetによるサブドメインルーティングの詳細については、documentationを参照してください。

AttributeRouting Nugetルートに行きたくない場合は、唯一の他のオプションは標準MVCルーティングです。基本的にカスタムルート制約を設定するだけで、サブドメインがルート値辞書に追加されます。これを使用して、行動に応じた決定を下すことができます。ちょうど "asp.net mvcサブドメインルーティング"の検索を行います。さまざまな例があります。

関連する問題