将.aspx网站转换为ASP.NET核心

时间:2018-04-11 17:31:34

标签: asp.net .net asp.net-mvc razor asp.net-core

我们的业务已经购买了一家旧的网络托管公司,该公司在多台服务器上运行IIS和Apache网站。我们正在计划从旧基础架构迁移到我们的系统。

我们希望在Linux / Apache上运行所有这些站点,并且已经成功地在此Linux服务器上安装了ASP.NET Core,并且能够在this tutorial之后提供空白Web应用程序而不会出现问题,并进行一些修改。

我们面临的问题是,我们有大约40个网站使用.aspx网页运行并且与SQL Server建立了数据库连接。不仅如此,一些网站还有购物车系统和自定义构建的CMS管理面板,所有这些都需要移植。

我们可以看到几个选项:

  1. 配置网络应用程序以服务.aspx页面? (不确定是否可能)

    我不确定这是否可行,在.NET Core中使用默认模板并将其配置为渲染.aspx页面。

  2. 在.NET Core中完全重建网站 (不是选项)

    这根本不是一种选择,因为这种迁移不会对客户收费,而且考虑到我们拥有的小团队,如果不是几年就需要几个月。

  3. 将当前站点合并到.NET Core

    有没有办法获取.aspx页面并以快速方式或通过各种工具转换它们?

  4. 配置Linux / .NET Core以使用现有网站 (最理想)

    我们可以简单地将所有网站文件复制到用户的public_html文件夹中,并配置dotnet服务以显示这些网页吗?

  5. 任何见解/建议都会非常有帮助。

1 个答案:

答案 0 :(得分:3)

首先,重要的是要指出虽然.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以使用现有站点",答案是否定的,因为我在回答的开头所说的。如果我略微调整您的问题,可能在Linux上使用Mono运行Web窗体。我必须强调可能的一部分。 Mono项目将.NET Framework移植到Linux上,并且在保留大量功能方面做得相当不错。根据应用程序的不同,您可以使用此框架启动并运行它,但我几乎可以保证并非所有内容都能完全移植到它。您可能会发现某些应用程序将安全地运行,而其他应用程序可能只需要在.NET Core中重写它。

您可能需要认真考虑的最后一个选项是咬住子弹并继续让40个站点​​在Windows下的IIS下运行。