我们的企业购买了一家旧的网络托管公司,该公司在多台服务器上运行 IIS 和 Apache 站点的混合体。我们正在计划从旧的基础设施迁移到我们的系统。
我们希望在 Linux/Apache 上运行所有这些站点,并且已经在这台 Linux 服务器上成功安装了 ASP.NET Core,并且能够在遵循 this tutorial 之后毫无问题地提供空白 Web 应用程序。 ,经过一些修改。
我们面临的问题是我们有大约 40 个使用 .aspx 网页运行并与 SQL Server 建立数据库连接的网站。不仅如此,一些站点还有购物车系统和定制的 CMS 管理面板,所有这些都需要移植。
我们可以看到几个选项:
我不确定这是否可行,在 .NET Core 中采用默认模板并将其配置为呈现 .aspx 页面。
这根本不是一种选择,因为这种迁移不向客户收费,并且考虑到我们拥有的小团队,需要数月甚至数年才能完成。
有没有办法获取 .aspx 页面并以快速方式或通过某种工具转换它们?
我们可以简单地将所有站点文件复制到用户的 public_html 文件夹中并配置 dotnet 服务以显示这些页面吗?
任何见解/建议都将非常有帮助。
最佳答案
首先,需要指出的是,虽然 .NET Core 和 .NET Framework 有很多共同点,但它们实际上是两种不同的东西。看看What's the difference between .NET Core, .NET Framework, and Xamarin? .
我指出这一点的原因是因为 .NET Core 根本不支持 Web 窗体(这是 ASPX 页面使用的),因此限制了您的选择。
对于您的第一个问题“配置 Web 应用程序以提供 .aspx 页面?”,使用 Web 窗体呈现 MVC 页面是不可行的。它们以两种完全不同的方式工作。
对于您的第二个问题,“在 .NET Core 中完全重建站点”,我明白为什么这不是一个可行的选择,但如果您只想运行基于 Linux 的服务器,从技术角度来看,它确实是最好的选择。
对于问题三,我在旅行中没有发现可以做到这一点的工具,但可能有一个。
对于您的第四个问题“配置 Linux/.NET Core 以与现有站点一起工作”,答案是否定的,因为我在回答开头所说的话。如果我稍微调整一下你的问题,它 有可能使用 Mono 在 Linux 上运行 Web 窗体。我必须强调可能部分。 Mono 项目将 .NET Framework 移植到 Linux,并且在保留许多功能方面做得相当不错。根据应用程序的不同,您也许可以使用这个框架来启动和运行它,但我几乎可以保证并不是所有的东西都可以干净地移植到它上面。您可能会发现某些应用程序可以安全运行,而其他应用程序可能只需要在 .NET Core 中重写即可。
您可能要认真考虑的最后一个选项是咬紧牙关,继续让 40 个站点在 Windows 的 IIS 下运行。
关于asp.net - 将 .aspx 网站转换为 ASP.NET Core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49781238/