一、什么是ASP.NET Core
ASP.NET Core是一个跨平台,高性能的开源框架,用于构建现代的、基于云计算的互联网应用程序。
使用ASP.NET Core,您可以做到:
- 构建Web应用程序和服务,物联网应用程序和移动后端。
- 在Windows,MacOS和Linux上使用您最喜爱的开发工具。
- 部署到云或本地。
- 在.NET Core或.NET Framework上运行。
二、为什么使用ASP.NET Core?
数百万开发人员已经使用(并继续使用)ASP.NET 4.x来创建Web应用程序。 ASP.NET Core是ASP.NET 4.x的重新设计,是更精简,更模块化的框架。
ASP.NET Core特点:
通过统一的框架构建Web UI和Web API
整合了现代的客户端框架和开发流程
适用于云的、基于环境的配置系统
内置依赖注入
一个轻量级,高性能,模块化的HTTP请求管道
能够在IIS,Nginx,Apache,Docker、Self-Host上进行托管
面向.NET Core的side-by-side应用程序版本控制
简化现代Web开发的工具
能够在Windows,MacOS和Linux上构建和运行
完全开源并以社区为重点
ASP.NET Core完全以NuGet包的形式提供。这使您可以优化您的应用程序,只包括必要的NuGet包。实际上,针对.NET Core的ASP.NET Core 2.x应用程序只需要一个NuGet包。较小的应用程序面使其更安全,并减少的不必要的服务开销,提升性能。
三、使用ASP.NET Core MVC构建Web API和Web UI
ASP.NET Core MVC提供了构建Web API和Web应用程序的功能:
模型 - 视图 - 控制器(MVC)模式有助于使您的Web API和Web应用程序可测试。
Razor Pages(ASP.NET Core 2.0中的新增功能)是一个基于页面的编程模型,可以使构建Web UI更加简单高效。
Razor标记为Razor Pages和MVC视图提供了高效的语法。
标签助手允许服务器端代码参与在Razor文件中创建和呈现HTML元素。
对多种数据格式和内容协商的内置支持可让您的Web API访问广泛的客户端,包括浏览器和移动设备。
模型绑定自动将数据从HTTP请求映射到操作方法参数。
模型验证自动执行客户端和服务器端验证。
四、客户端开发
ASP.NET Core与流行的客户端框架和库(包括Angular,React和Bootstrap)无缝集成。有关更多详细信息,请参阅客户端开发。