我试图从相同的代码库提供多个虚拟主机。我想过的一个想法是将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