2016-05-16 109 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