2014-01-08 103 views
1

我目前正在参与一个新的项目,这个项目需要将域映射到MVC区域。属性映射MVC 5

例如下列部位应映射各自的领域:

www.sitea.com needs to map to area SiteA 
www.siteB.com needs to map to area SiteB 
www.siteC.com needs to map to area SiteC 

是否有使用属性映射MVC 5在做到这一点更简单的方法,还是一个仍然需要看使用类似的东西到IRouteConstraint接口

在此先感谢您的帮助。

Regards

回答

3

如果你的意思是属性路由,遗憾的是不是。在MVC 5中引入属性路由的目的是将路由配置与控制器的操作共同定位,以简化URI和操作之间映射的推理。

属性路由的新功能仍然围绕着VirtualPathData类,这会限制您仅使用虚拟路径中的令牌。即使在MVC 5中,将主机名映射到区域也超过了声明性路由的边界,您将不得不在接近Implementing ASP.NET MVC Domain Routing by Maarten Balliauw的解决方案中扩展基础架构。

你当然可以尝试从RouteAttribute,RouteAreaAttribute等继承,但恕我直言,你最终将实现类似于上述。