2016-05-16 6 views
0

ルートテーブル内の現在のすべてのルートをループし、定義されているすべての現在のページ/アクションに新しいルートを追加するにはどうすればよいですか?ASP.NET MVCはテーブル内のルートに基づいて新しいルートを作成します

クライアントが存在するサイトを定義する新しいセグメントを追加しようとしています。たとえば、ユーザがhttp:mysite/site/controler/actionに来た場合サイトセグメントはURLにあるかもしれないし、そうでないかもしれないが、すべてのカスタムルートでサイトルートを手動で定義する必要はなく、プログラムセグメントでサイトセグメントがあれば、すべての現在のカスタムルートをルーティングできるようにしたい有効なルートとそれをルーティングする方法。

+0

['Areas'](https://msdn.microsoft.com/en-us/library/ee671793(v=vs.100).aspx)の機能を複製しようとしているようです。 – NightOwl888

+0

フォルダ、ビュー、コントローラを定義する必要がある領域。私は、テナントの異なるすべての現在のルートを使用しようとしており、コードではなくデータでテナントを定義する必要はありません。 – user1345234

答えて

1

実行可能ですが、実行時にルートテーブルを更新しないでください。代わりに、実行時に変更できるカスタムルートを作成することを目指すべきです。これを行うには

二つのオプションは以下のとおりです。

  1. は(キャッシュ)ランタイムデータのオフ駆動され、ルートの制約を作成します。これは、ルーティングがアプリケーションによって定義されている場合にのみ認識するようにしたい特定のセグメントを持っている場合にうまく機能します。
  2. RouteBase override that is driven off of (cached) runtime dataを作成します。
+0

ありがとう、オプション2は完璧です。 – user1345234

関連する問題