了解新式化到 ASP.NET Core 的好处
在本单元中,你将了解何时以及为何将 .NET Framework 上运行的现有 ASP.NET 应用程序升级到 ASP.NET Core。
ASP.NET Core 是 ASP.NET 的最新版本,它包含许多对 ASP.NET MVC 的改进。 ASP.NET Core 和 ASP.NET MVC 之间最显着的区别在于,ASP.NET Core 在最新版本的 .NET(以前称为 .NET Core)上运行,这些软件是跨平台的。 可以使用它生成可在 Windows、Linux 或 macOS 上运行的 Web 应用程序。
相比 .NET Framework 上运行的 ASP.NET MVC,.NET 上运行的 ASP.NET Core 具有多种优势。 有关以下优势的详细信息,请参阅 ASP.NET Core 文档:
- 生成 Web UI 和 Web API 的统一场景
- 针对可测试性进行构建
- Razor Pages 可以使基于页面的编码方式更简单高效
- 借助 Blazor,可以在浏览器中将 C# 与 JavaScript 结合使用,并共享服务器端和客户端应用逻辑(均使用 .NET 编写)
- 能够在 Windows、macOS 和 Linux 上进行开发和运行
- 开源且以社区为中心
- 集成新式客户端框架和开发工作流
- 支持使用 gRPC 托管远程过程调用 (RPC) 服务
- 基于环境的云就绪配置系统
- 内置依赖项注入
- 轻型的高性能模块化 HTTP 请求管道
- 能够在以下主机上托管:
- 并行版本控制
- 简化新式 Web 开发的工具
让我们更详细地讨论一些主要优势。
性能
.NET 上的 ASP.NET Core 性能明显高于 .NET Framework。 此性能改进提供了几个潜在优势,包括单个响应的响应速度更快、吞吐量更高、服务器效率更高以及降低内存使用率。 这些改进转换为成本节省,方式是使用较少的服务器资源提供更多响应。
许多案例研究都记录了这些性能优势。 Microsoft Entra ID 每天处理 1150 亿个请求,并且能够通过迁移到 .NET Core 将 CPU 成本降低 50%。 迁移到 .NET Core 2.1 时,必应会记录 34% 的服务器延迟改进。 必应在 .NET Core 上运行后,团队能够利用每个 .NET Core 版本更新,并在每个更新中持续看到较大改进。 性能改进仍然是创新的重点,进一步将 .NET 与 .NET Framework 区分开来。 请考虑以下跟踪各种增量改进的性能博客文章:
跨平台支持
.NET Framework 是仅限 Windows 的框架,而 ASP.NET Core 是一个跨平台框架。 你可以在 Windows、macOS 和 Linux 上开发和托管 ASP.NET Core。 这种跨平台支持为开发人员环境、CI/CD 管道和部署提供了灵活性。 通常,开发人员和设计人员在混合 Windows 和 macOS 环境中工作,并将应用程序部署到各种托管环境,包括 Linux、Docker、Windows 和云托管平台。
微服务
ASP.NET Core 是一个轻型、模块化且可扩展的框架,可用于生成微服务。 可以使用 ASP.NET Core 生成可在各种环境中使用并单独部署和缩放的小型独立服务。 微服务支持提供托管灵活性、精细可伸缩性以及测试和部署小型功能单元的灵活性。
生态系统
通过将应用程序更新到 ASP.NET Core,可以访问最新发布的热门 NuGet 库、新式开发工具和商业工具供应商提供的最新组件。
访问 .NET 更新中的新功能
.NET Framework 将继续受支持并接收安全更新程序,但更新不包括新功能。 更新 ASP.NET Core 可以访问年度版本更新中的新功能。