2016-05-16 95 views
0

如何循環路由表中的所有當前路由併爲所有定義的當前頁面/動作添加新路由?ASP.NET MVC基於表中的路由創建新路由

我試圖添加一個新的網段來定義客戶端在哪個網站上。例如,如果用戶進入http:mysite/site/controler/action。該網站段可能或不可以在URL中,但我希望所有當前的自定義路由能夠路由,如果有一個網站段的網址,而不必爲每個自定義路由手動定義站點路由,但編程方式讓mvc路由知道它是一條有效的路線以及如何路線。

+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