将.aspx网站转换为ASP.NET Core

9
我们的公司购买了一家老旧的 Web 托管公司,该公司在多台服务器上运行混合 IIS 和 Apache 站点。我们正在计划从旧基础设施迁移到我们的系统。
我们想在 Linux/Apache 上运行所有这些站点,并成功在 Linux 服务器上安装了 ASP.NET Core,并能够通过此教程(稍作修改)无问题地提供空白的 Web 应用程序。
我们面临的问题是,我们有约 40 个网站使用 .aspx Web 页面,并具有与 SQL Server 的数据库连接。不仅如此,有些站点还有购物车系统和定制的 CMS 管理面板,所有这些都需要移植。
我们可以看到几个选项:
1. 配置 Web 应用程序以服务于 .aspx 页面?(不确定是否可能)
我不确定是否可能采取 .NET Core 中的默认模板并配置它来呈现 .aspx 页面。
2. 在 .NET Core 中完全重建站点(不可选)
由于此迁移对客户没有收费,而且考虑到我们团队规模较小,这根本不是一个选项,因为这将需要数月甚至数年时间。
3. 将当前站点合并到 .NET Core 是否有一种快速将 .aspx 页面转换的方式,或通过某种工具进行转换?
4. 配置 Linux/.NET Core 以使用现有站点(最理想的)
我们是否可以简单地将所有站点文件复制到用户的 public_html 文件夹中,并配置 dotnet 服务来显示这些页面?
任何见解/建议都将非常有帮助。

需要使用asp.net core重建网站。选项2(您不认为是选项)似乎是您唯一可行的选择。此外,网站所有者可以选择他们想要使用的服务器Linux / Apache或Windows / IIS。 - MCoder
1个回答

8
首先,需要指出的是,虽然.NET Core和.NET Framework有很多共同点,但它们实际上是两个不同的东西。请参阅“.NET Core、.NET Framework和Xamarin之间的区别是什么?”。
我之所以指出这一点,是因为Web Forms(ASPX页面使用的内容)在.NET Core中完全不受支持,从而限制了您的选择。
对于您的第一个问题“配置Web应用程序以提供.aspx页面?”,使用Web Forms无法呈现MVC页面。它们的工作方式完全不同。
对于您的第二个问题“在.NET Core中完全重建站点”,我知道这不是可行的选项,但从技术角度来看,如果您希望仅运行基于Linux的服务器,则这实际上是最好的选择。
对于第三个问题,我在旅途中没有发现这样的工具,但可能存在这样的工具。
对于您的第四个问题“配置Linux/.NET Core以与现有站点配合工作”,由于我在回答开头所说的原因,答案是否定的。如果我稍微修改一下您的问题,就可以使用Mono在Linux上运行Web Forms,这是可能的。Mono项目将.NET Framework移植到了Linux,并且在保留了许多功能方面做得非常好。根据应用程序的不同,您可能能够使用此框架将其启动并运行,但我几乎可以保证,并非所有内容都能干净地移植到它上面。您可能会发现有些应用程序可以安全地运行,而其他应用程序可能需要在.NET Core中重新编写。
最后一个选项可能需要认真考虑,那就是咬紧牙关,继续让40个站点在Windows的IIS下运行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接