透明地分解Azure中托管的ASP.NET网站

时间:2016-07-05 21:29:13

标签: c# asp.net visual-studio azure asp.net-core

我维护一个用ASP.NET MVC 5编写的网站,并在Azure中托管。这是一个遗留应用程序,是一个真正的维护噩梦,所以我被要求开始迁移到新的代码库和ASP.NET核心框架。

我们的目标是:

  1. 一次迁移一页
  2. 不要失去Visual Studio中的“F5调试”体验
  3. 我最初的想法是使用虚拟应用程序/目录,Azure和IIS Express都支持该目录。例如,通过使用虚拟路径将/Shop页面指向新网站。然后,当我们准备好后,移动/Team页面,依此类推。我将为每个迁移的端点添加虚拟路径,直到迁移完成。

    为了实现这一点,我创建了一个新的ASP.NET Core项目,我一直在尝试编辑我的applicationhost.config文件并尝试从Visual Studio启动多个项目,但没有运气。

    我尝试使用相同的端口绑定配置两个site,在<site>标记内配置两个应用,在<application>内配置两个虚拟目录,但我总是遇到错误。要么我无法开始调试(Can't connect to IIS ExpressThe object invoked has disconnected from its clients消息),要么我得到502错误。

    我甚至不知道这是否适用于Azure,但我知道如果没有适当的开发经验,我们就无法走这条道路。

    我错过了其他一些更好的解决方案吗?如果这是一个很好的解决方案,有没有办法在Visual Studio中使这个工作?

1 个答案:

答案 0 :(得分:0)

我会考虑在Azure中创建多个新网站,每个网站一个。然后,当我开始使用Shop时,我会在原始解决方案中留下一个几乎为空的控制器,重定向到新的销售网站。使用此方法,您可以一次有效地使用一个较小的代码库,并在将来根据需要扩展您站点的各个部分。请注意,您可以在同一个应用服务环境中托管多个站点(因此,通过分成多个进程不会产生大量额外成本)。

祝你好运: - )