2010-06-20 164 views
2

我有一个MVC网站,其中有3个主要组件路由与子域

    具有路径/会员/ {控制器}/{行动}/{ID}
  1. 个人网页这将
  2. 会员区回应任何子域名,例如user1.example.com/{controller}/{action}/{id},user2.example.com/{controller}/{action}/{id}
  3. 主要网站将响应www.example下的任何网址.COM/{控制器}/{行动}/{ID}

什么是处理,使上述3项共存的路线最简单的方法?我从global.asax.cs文件中尝试了许多MapRoutes,并且还基于RouteBase创建了一个新类,但没有多少运气。

+0

嗨格雷姆,是否有可能举办一个简单的解决方案GitHub或网络的任何其他部分?我很乐意看到这个工作,正在尝试没有任何运气:o( – balexandre 2011-08-06 13:54:32

回答

1

这听起来像你正朝着正确的方向前进 - 基本上你需要创建一个自定义路由来查看请求并构造路由值字典。而非虽然推倒重来,有人已经创造了一个很好的实现,它允许你以包括域本身就像这样的占位符:

routes.Add("DomainRoute", new DomainRoute(
"{controller}.example.com", "{action}/{id}", 
new { controller = "Home", action = "Index", id = "" })); 

http://blog.maartenballiauw.be/post/2009/05/20/ASPNET-MVC-Domain-Routing.aspx

+0

我设法使用这两种技术的混合结果工作,谢谢! – Graeme 2010-06-25 22:40:16