我正在开发CMS系统,我的问题是与MVC相比,我将使用子域。 www.domain1.example.com www.domain2.example.com 等等到800个子域。 自定义路线是解决方案之一,但所有网站都不会与设计相同,它们将作为设计独立。那么什么是最快速的做法。
提前致谢
答案 0 :(得分:0)
一种方法是使用自定义路由约束,如下所示: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