【发布时间】:2016-12-16 08:04:39
【问题描述】:
我正在开发 CMS 系统,我的问题是与 MVC 相比,我将使用子域。 www.domain1.example.com www.domain2.example.com 等等去800个子域。 自定义路线是解决方案之一,但并非所有网站都与设计相同,它们将作为设计独立。那么什么是足够快的最佳方法。
提前致谢
【问题讨论】:
标签: asp.net-mvc subdomain
我正在开发 CMS 系统,我的问题是与 MVC 相比,我将使用子域。 www.domain1.example.com www.domain2.example.com 等等去800个子域。 自定义路线是解决方案之一,但并非所有网站都与设计相同,它们将作为设计独立。那么什么是足够快的最佳方法。
提前致谢
【问题讨论】:
标签: asp.net-mvc subdomain
一种方法是使用自定义路由约束,如下所示:https://www.asp.net/mvc/overview/older-versions-1/controllers-and-routing/creating-a-custom-route-constraint-cs
然后,您可以使用它来打开和关闭取决于子域的路由表中的某些路由(您可以在路由约束代码中检查)。
routes.MapRoute(
"Admin",
"Admin/{action}",
new { controller = "Admin"},
new { subdomainMatch = new SubdomainCriterion(SubdomainGroup.GroupA) }
);
因此,在本例中,此路由仅适用于 A 组子域。
您可以在 ASP.Net Core 中做得更好,它具有更灵活的路由系统,您可以为每个子域或子域组拥有完全不同的路由表。它在概念上更复杂,有点难以理解,但非常强大。你可以在这里阅读:
http://stephenwalther.com/archive/2015/02/07/asp-net-5-deep-dive-routing
【讨论】: