2015-12-16 9 views
7

私は、ASP.NET 5アプリケーションでサブドメインルーティングを動作させようとしています。別のコントローラへASP.NET 5のサブドメインルーティング

私は基本的に自分のアプリケーション内の特定のコントローラにhttp://api.example.comをマップしたい、http://map.example.comなど

私はこれについて、さまざまな記事を見てきましたが、彼らは時代遅れの全て​​であり、では動作しません。 ASP.NETフレームワークの最新バージョン。

official documentationにはルーティングに関する情報がありません。たぶん、ベータ版の製品を使用しようとすると私自身の責任です!

この仕組みをどうやって取得するかについてのいくつかのアイデアを楽しみにしています。

+0

パスを書き換える「ミドルウェア」を書くことができるかもしれません –

+0

この問題の答えはありますか?シェアしてください。 – apero

+0

@aguafrommarsどのようにミドルウェアでこれを達成できますか? – apero

答えて

-2

私があなたの意図を正しく理解していれば、ASP.NETルーティングはこれのための適切な方法ではありません。

5.0以前のASP.NETバージョンの場合は、Application_BeginRequest()内でルーティングされる前にリクエストをインターセプトして、HTTP_HOSTリクエストヘッダー値をチェックして、ユーザーが訪問したいサイトを特定することをお勧めします。

私は、アプリケーションの流れがvNextと大きく変わったことがわかります。しかし、私はgithubのASP.NET MVC 6ソースからこのサンプルを見つけ、リクエストの「User」ヘッダーに基づいてカスタムルートを作成しました。 https://github.com/aspnet/Mvc/tree/dev/samples/CustomRouteSample.Web これはあなたと同じソリューションの開始テンプレートかもしれないと思います代わりに "HTTP_HOST"ヘッダーを使用すると問題が発生します。

実用的なソリューションを実装できるかどうかをお知らせください。

+1

ASP.NET 5には、 'Application_BeginRequest'イベントです。 – mason

+0

確かに、私はバージョンの詳細に注意を払っていませんでした。私はそれに応じて私の答えを更新しています。 – Cahit