第二节( 认识ASP.NET Core)

引言:什么是ASP.NET Core
ASP.NET Core是一个跨平台的、高性能的开源框架,用来构建基于云且通过互联网连接的应用程序,它是在.NET Core平台下进行Web开发及后端接口开发的一种技术。

1.ASP.NET Core 的特点
- 生成Web UI和Web API的统一场景。
- Razor Pages可以使基于页面的编码方式更简单高效。
- Blazor允许在浏览器中使用C#和JavaScript,这样可以共享全部使用.NET编写的服务器端和客户端应用逻辑。
- 能够在Windows、macOS和Linux平台上进行开发和运行。
- 集成新式客户端框架和开发工作流。
- 支持使用gRPC托管远程过程调用(RPC)。
- 内置依赖项注入。
- 轻型的高性能模块化HTTP请求管道。
- 能够托管部署在Kestrel、IIS、HTTP.sys、Nginx、Apache、Docker等多种服务器上。
- 并行版本控制。
- 简化新式 Web 开发的工具。
- 针对可测试性进行构建。
- 开放源代码和以社区为中心。
2.ASP.NET Core 的版本
ASP.NET Core的版本从最初的1.0版本已经发展到最新的7.0版本,其中,ASP. Core 2.2及之前的版本可以运行在.NET Core或者.NET Framework上,而ASP.NET Core 3.x及更高版本只能运行在.NET Core上。
3.ASP.NET Core 与 ASP.NET
|---------------------------------------------------------------------|-----------------------------------|
| ASP.NET Core | ASP.NET |
| 针对Windows、macOS或Linux进行生成 | 针对Windows进行生成 |
| Razor Pages是在ASP.NET Core 2.x及更高版本中创建Web UI时建议使用的方法 | 使用Web Forms、MVCWeb APIWebHooks或网页 |
| 每个计算机可以安装多个版本,根据应用来确定 | 每个计算机共享一个版本 |
| 使用C#或F#通过Visual Studio、Visual Studio for Mac或Visual Studio Code进行开发 | 使用C#、VB或F#通过Visual Studio进行开发 |
| 比ASP.NET性能更高 | 良好的性能 |
| 使用.NET Core运行时 | 使用.NET Framework运行时 |
总结

性能:
性能是 ASP.NET Core 的关键焦点。它比独立TechEmpower 基准中其他流行的 Web 框架更快,数据源自 TechEmpower 第 21 轮中提供的官方测试。

新式和创新:
ASP.NET Core 旨在帮助允许运行时组件、API、编译器以及语言快速发展,同时仍然提供稳定且受支持的平台,从而让应用持续运行。
同一服务器上可以并行存在多个版本的 ASP.NET Core。这意味着一个应用可以采用最新版本,而其他应用会在测试版本上继续运行。
ASP.NET Core 提供了各种支持生命周期选项来满足应用的需求。你可以选择长期支持版本,或者如果乐于更频繁地升级,则使用最新版本运行。

开源:
和 .NET 的其余部分一样,ASP.NET 是 GitHub 上的开放源代码。.NET 具有 100,000 多项贡献,3,700 家公司已参与其中。

Windows, Linux, macOS, and Docker:
可以在 Windows, Linux, macOS, and Docker 上开发和运行 ASP.NET 应用。
Visual Studio 系列产品具有用于在任何操作系统上生成 .NET 应用的工具。此外,还有许多适用于常用编辑器的命令行工具和扩展。

灵活部署:
应用运行依靠的 ASP.NET Core 运行时可以部署为应用的一部分,或集成中安装在 Web 服务器上。ASP.NET Core 还完美适合于 Docker 容器。

受支持:
可以从源代码生成自己的 ASP.NET 版本,但大多数生产应用需要受支持的平台版本。
Microsoft 提供正式版本的 .NET,这些版本在 Azure 中由 Microsoft 维护的服务器上进行生成和测试,并像任何 Microsoft 产品一样受到支持。有关详细信息,请参阅 .NET 和 .NET Core 支持策略。
Red Hat 在 Red Hat Enterprise Linux (RHEL)上支持 .NET。Red Hat 从源生成 .NET,并使其在 .NET 下载 页面中可用。Red Hat 和 Microsoft 协作确保 .NET 在 RHEL 上正常运行。