2010-06-20 207 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