Asp.net mvc .NET MVC调度程序(按主机)

Asp.net mvc .NET MVC调度程序(按主机),asp.net-mvc,asp.net-mvc-4,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc Routing,假设我的网站(a.com)为不同的客户服务。每个客户端都有自己的子域: first.sub.a.com second.sub.a.com third.sub.a.com 每个子域在我们的数据库中与此客户端的特定url耦合: first.sub.a.com -> a.com/sites/1 second.sub.a.com -> a.com/sites/2 third.sub.a.com -> a.com/sites/3 为此创建转发机制的最佳方法是什么? 我不能真正使用URL

假设我的网站(a.com)为不同的客户服务。每个客户端都有自己的子域: first.sub.a.com second.sub.a.com third.sub.a.com

每个子域在我们的数据库中与此客户端的特定url耦合:

first.sub.a.com -> a.com/sites/1
second.sub.a.com -> a.com/sites/2
third.sub.a.com -> a.com/sites/3
为此创建转发机制的最佳方法是什么? 我不能真正使用URLRewite,因为子域是动态添加的(路由53),并且我不想每次都更改iis配置

我想我会做以下几件事:

  • 使用URLEWRITE将每个子域条目指向一个特定的控制器操作 例如,每个*.sub.a.com请求都应重定向到 a、 通信/调度程序
  • 在dispatcher控制器上,我检查主机请求并尝试在db中找到匹配项
  • 一旦找到,我将返回耦合的url的结果
有更好的方法吗? 浏览器中的网站url应该保持输入状态,这就是为什么我不能真正重定向url的原因