根据 MVC4 中的HTTP_HOST加载路线

本文关键字:HOST 加载路 HTTP MVC4 中的 根据 | 更新日期: 2023-09-27 18:36:33

>我有一个多租户 MVC4 网站,我想在其中根据传入的主机和域名设置 RouteTablewww.domain1.comwww.domain2.comwww.domain3.co.uk 可以根据主机和域 anem 将一个或多个附加值附加到路由表中。

DNS 服务器已设置了多个具有主机的不同区域,我将 IIS7 用作"自定义 Web 服务器",而不是使用 Visual Studio 2012 开发服务器,以便我在请求变量中获得正确的可用HTTP_HOST值。

我对 IIS7 遇到的问题是,如果您尝试在完成所有其他路由映射的 RegisterRoutes 方法中调用它,则 HttpContext.Current.Request.ServerVariables["HTTP_HOST"] 的值不可用。

我需要做的主要事情是在请求管道中的某个时刻确定最终将在HTTP_HOST服务器变量中的值。 该值需要存储,并在使用之前适当更新路由表。

它是否需要 Http 模块、Http 处理程序、操作过滤器或类似的东西?或者 MVC 管道中的其他地方是否可以执行此操作。

克里斯平

根据 MVC4 中的HTTP_HOST加载路线

据我所知,没有内置的基于主机的路由支持,但您可以创建一个 Route 子类来拉取主机值。下面是一个示例:

http://blog.maartenballiauw.be/post/2009/05/20/aspnet-mvc-domain-routing.aspx

这是为 MVC3 编写的,但在 MVC4 中应该可以正常工作。