ASP / MVC SUBDOMAINS

时间:2016-12-16 08:04:39

标签: asp.net-mvc subdomain

我正在开发CMS系统,我的问题是与MVC相比,我将使用子域。 www.domain1.example.com www.domain2.example.com 等等到800个子域。 自定义路线是解决方案之一,但所有网站都不会与设计相同,它们将作为设计独立。那么什么是最快速的做法。

提前致谢

1 个答案:

答案 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