asp.net core 系列 1 概述

一.   概述

  ASP.NET Core 是一个跨平台的高性能开源框架,能够用来:建置 Web 应用程序和服务、IoT应用和移动后端、在 Windows macOS 和 Linux 上使用喜好的开发工具、部署到云或本地、NET Core 或 .NET Framework 上运行。编程

  ASP.NET Core  能够面向 .NET Core 或 .NET Framework。面向 .NET Framework 的 ASP.NET Core 应用没法跨平台,它们仅在 Windows 上运行。一般,ASP.NET Core由 .NET Standard 库组成。与 .NET Standard 2.0 兼容的 .NET Framework 版本建议使用4.7.1。在将来ASP.NET Core 3.0及以上只能在 .NET Core 中运行。后端

 

  1.1 ASP.NET Core 具备以下优势:

    (1)生成 Web UI 和 Web API 的统一场景。浏览器

    (2)针对可测试性进行构建。服务器

    (3)Razor Pages可使基于页面的编码方式更简单高效。框架

    (4)可以在 Windows、macOS 和 Linux 上进行开发和运行。模块化

    (5)开放源代码和以社区为中心。微服务

    (6)集成新式客户端框架和开发工做流。工具

    (7)基于环境的云就绪配置系统。性能

    (8)内置依赖项注入。开发工具

    (9)轻型的高性能模块化 HTTP 请求管道。

    (10)可以在IIS、Nginx、Apache、Docker 上进行托管或在本身的进程中进行自托管。

    (11)目标到NET Core 时,可使用并行应用版本控制。

    (12)简化新式 Web 开发的工具。

 

  1.2 使用 ASP.NET Core MVC 生成 Web API 和 Web UI所需的功能:

    Model-View-Controller (MVC) 模式使 Web API 和 Web 应用可测试。

    Razor Pages是基于页面的编程模型,它让 Web UI 的生成更加简单高效。

    Razor 标记提供了适用于 Razor 页面和 MVC 视图的高效语法。

    标记帮助程序使服务器端代码能够在 Razor 文件中参与建立和呈现 HTML 元素。

    内置的多数据格式和内容协商支持使 Web API 可访问多种客户端,包括浏览器和移动设备。

    模型绑定自动将 HTTP 请求中的数据映射到操做方法参数。

    模型验证自动执行客户端和服务器端验证。

 

  1.3 NET Core与 .NET Framework 比较

    .NET Core与 .NET Framework 相比优点包括: 跨平台、提升性能、并行版本控制、新API、开源。目前NET Framework 还不会被 .NET Core 代替。Core会试图缩小两者在实现上的差距,下表将 ASP.NET Core 与 ASP.NET 4.x 进行比较:

ASP.NET Core ASP.NET 4.x
针对 Windows、macOS 或 Linux 进行生成 针对 Windows 进行生成
Razor 页面是在 ASP.NET Core 2.x 及更高版本中建立 Web UI 时建议使用的方法 使用 Web 窗体、SignalR、MVC、Web API、WebHooks 或网页
每一个计算机多个版本 每一个计算机一个版本
比 ASP.NET 4.x 性能更高 良好的性能
选择 .NET Framework 或 .NET Core 运行时 使用 .NET Framework 运行时

 

  1.4 运用场景

    (1) 在什么状况下要求使用 .NET Core包括: 用户有跨平台需求、用户正在面向微服务、用户正在使用 Docker 容器、须要高性能和可扩展的系统、需按应用程序提供并行的 .NET 版本。

    (2) 在什么状况下使用.NET Framework包括: 当前使用 .NET Framework(建议扩展而不是迁移)、不可用于 .NET Core 的第三方 .NET 库或 NuGet 包、不可用于 .NET Core 的 .NET 技术、不支持 .NET Core 的平台。

     不可用于 .NET Core的.NET技术包括:不能用于 ASP.NET Web 窗体、WCF 服务的实现(未来会考虑在Core上实现)、工做流相关的服务。