首页 > 解决方案 > 何时从 Asp.net 迁移到 Asp.net Core

问题描述

背景:

我想就将我们的应用程序从现有的 Dotnet 框架升级到 Dotnet Core 做出明智的决定。

该应用程序是托管在 IIS 上的基于 Asp.net 的应用程序。

FA应用的当前应用项目结构:

FA解决方案

应用程序的生命周期:可预见的未来。这个想法是不断升级应用程序。

我想达到什么目标?

技术升级愿望清单: - 完全包含的 CI - 在 Azure/AWS 中托管应用程序 - 公开 Web api 端点

情景一:

FA解决方案

场景 B:

FA解决方案

问题:

  1. 是否值得升级到 .net 核心,为什么?
  2. 我应该一次升级所有上述三个项目以针对 Dotnet 核心吗?
  3. 例如,“FA.Utility”正在引用第三方库。这会在升级过程中引起问题吗?
  4. 这两个框架能否在场景 A 和场景 B 的生产环境中共存,如果可以,您能预见到任何问题吗?

标签: asp.net.netazureasp.net-corearchitecture

解决方案


回答您的第一个问题“是否值得升级到 .net 核心,为什么?”

Microsoft 维护使用 .NET 构建应用程序的运行时,并且它们共享许多相同的 API。这个共享 API 就是所谓的 .NETStandard。

在此处输入图像描述

.NET Core 用于创建在 Windows、Linux 和 Mac 上运行的服务器应用程序。它目前不支持创建带有用户界面的桌面应用程序。

开发人员应在何时使用 .NET Core

一个跨平台的开源框架,可用于在任何平台上开发应用程序。它通常用于云应用程序或将大型企业应用程序重构为微服务。

你应该什么时候使用它?什么时候..

  1. 有跨平台需求。当应用程序需要跨多个平台(如 Windows、Linux 和 macOS)运行时使用它。这些操作系统被支持作为开发工作站(支持的操作系统列表正在增长):

    • Visual Studio 可以在 macOS 上使用新的受限版本在 Windows 上使用。
    • Visual Studio Code 可以在 Windows、Linux 和 macOS 上使用。
    • 命令行可以在所有支持的平台上使用。
  2. 正在使用微服务。

  3. 使用 Docker 容器时。

  4. 如果您有高性能和可扩展的系统需求。

  5. 如果您同时运行多个 .NET 版本。

  6. 如果您想要命令行界面 (CLI) 控制。

第二个问题“我应该同时升级以上三个项目以针对 Dotnet 核心吗?”

在我看来,如果平台在不断发展并且将来会出现,请在 dot net core 中升级您的所有应用程序。

第三个问题“例如'FA.Utility'正在引用第三方库。这会在升级过程中引起问题吗?”

由于dot net core正在升级和发展,可能不支持第三方库,所以在确定dot net core支持第三方库的情况下升级FA.Utility项目。

第四个问题“场景A和场景B这两个框架能否在生产中共存,如果可以的话,你能预见到任何问题吗?”

是的,它可以共存。

希望能帮助到你。


推荐阅读