如何在同一台服务器上托管同一站点的多个版本?

时间:2015-02-12 20:15:16

标签: c# asp.net-mvc iis

我有一个网站,我正在迁移到版本2.这是一个交错的推出而不是大爆炸。我打算做的是向新网站发送一定数量的流量,其余的是旧版本。我不想在负载均衡器上这样做(我不想进入的几个原因因为它是业务驱动而不是技术)。我的服务器数量有限,所以我不希望将新代码放在专用服务器上。我还想确保URL没有差异,以免混淆客户

第二版代码是全新的,不会也不会成为第一版代码库的一部分。这两者必须是孤立的。再次;业务驱动但不可谈判。

(例如:他点击http://example.com/somepage,我不想重定向到http://new.example.com/somepage)。

我正在使用IIS和ASP.NET MVC 4.0。我更喜欢基于代码的解决方案(例如httpmodules并在查询字符串中放置一些东西)但是看不出它是如何工作的。

除了将数吨iRule放入负载均衡器之外,我很高兴听到任何解决方案,无论是硬件/软件/中间件。

1 个答案:

答案 0 :(得分:1)

您可以想象实现这一目标的唯一方法是通过负载均衡器。否则,您会遇到一个简单的问题,即单个域无法连接到多个应用程序,并且多个应用程序无法驻留在同一个文档根目录中。您可以使用new.example.com之类的子域名,但明确表示您不希望这样。唯一的另一种选择是将新应用程序放在旧的虚拟目录中。然后,您可以保持域名相同,但您必须从http://example.com/somepage重定向到http://example.com/new/somepage。此外,旧应用程序的Web.config将应用于虚拟目录中的任何其他应用程序,因此必须采取极大的措施以确保没有配置出血。