编程教程说明:
为何选择 ASP.NET Core?
数百万开发人员使用过(并将继续使用)ASP.NET 4.x 创建 Web 应用。 ASP.NET Core 是对 ASP.NET 4.x 的重新设计,通过体系结构上的更改,产生了更精简、更模块化的框架。
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 开发的工具。
使用 ASP.NET Core MVC 生成 Web API 和 Web UI
ASP.NET Core MVC 提供生成 Web API 和 Web 应用所需的功能:
Model-View-Controller (MVC) 模式 使 Web API 和 Web 应用可测试。
Razor Pages 是基于页面的编程模型,它让 Web UI 的生成更加简单高效。
Razor 标记提供了适用于 Razor 页面和 MVC 视图的高效语法。
标记帮助程序使服务器端代码可以在 Razor 文件中参与创建和呈现 HTML 元素。
内置的多数据格式和内容协商支持使 Web API 可访问多种客户端,包括浏览器和移动设备。
模型绑定自动将 HTTP 请求中的数据映射到操作方法参数。
模型验证自动执行客户端和服务器端验证。
客户端开发
ASP.NET Core 与常用客户端框架和库(包括 [!OP.NO-LOC(Blazor)]、Angular、React 和 Bootstrap)无缝集成。 有关详细信息,请参阅 ASP.NET Core Blazor 简介 和“客户端开发”下的相关主题。
面向 .NET Framework 的 ASP.NET Core
ASP.NET Core 2.x 可以面向 .NET Core 或 .NET Framework。 面向 .NET Framework 的 ASP.NET Core 应用无法跨平台,它们仅在 Windows 上运行。 通常,ASP.NET Core 2.x 由 .NET Standard 库组成。 使用 .NET Standard 2.0 编写的库在实现 .NET Standard 2.0 的任何 .NET 平台上运行。
ASP.NET Core 2.x 在实现 .NET Standard 2.0 的 .NET Framework 版本上受支持:
强烈建议使用最新版本的 .NET Framework。
.NET Framework 4.6.1 及更高版本。
ASP.NET Core 3.0 以及更高版本只能在 .NET Core 中运行。 有关此更改的详细信息,请参阅 A first look at changes coming in ASP.NET Core 3.0(抢先了解 ASP.NET Core 3.0 即将推出的更改)。
面向 .NET Core 有以下几个优势,并且这些优势会随着每次发布增加。 与 .NET Framework 相比,.NET Core 的部分优势包括:
跨平台。 在 macOS、Linux 和 Windows 上运行。
性能更强
并行版本控制
新 API
开源
我们正努力缩小 .NET Framework 与 .NET Core 的 API 差距。 Windows 兼容性包使数千个仅可在Windows运行的API 可在 .NET Core 中使用。 这些 API 在 .NET Core 1.x 中不可用。