我試圖從相同的代碼庫提供多個虛擬主機。我想過的一個想法是將HTTP Host頭部作爲路由值,因爲我不想依賴控制器中的HttpContext,因爲它具有單元可測試性。作爲路由值的HTTP主機頭
我曾計劃在控制器基類或類似的東西中暴露此路由值。我試圖通過這樣的路由值:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { host = HttpContext.Current.Request.Url.Host, controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
這產生一個HttpException:請求在此上下文中不可用。
任何想法或建議更好的方式來做到這一點,將不勝感激。
請求完全是有道理的。謝謝! – Jason 2010-07-19 22:44:07