當(dāng)前位置:首頁(yè) > IT技術(shù) > Windows編程 > 正文

《ASP.ENT Core 與 RESTful API 開發(fā)實(shí)戰(zhàn)》-- 讀書筆記(第2章)
2021-10-22 16:59:18


第 2 章 .NET Core 和 ASP.NET Core

2.1 .NET Core 簡(jiǎn)介

.NET Core 是一個(gè)通用的開發(fā)平臺(tái),最重要的特點(diǎn)是跨平臺(tái),同時(shí)也是一個(gè)開源平臺(tái)

.NET Core 包含以下幾部分內(nèi)容:

  • CoreCLR:它是 .NET Core 的運(yùn)行時(shí),包含垃圾回收器、JIT 編輯器、原生數(shù)據(jù)類型、本機(jī)交互操作及底層類
  • CoreFX:它是 .NET Core 的基礎(chǔ)類庫(kù),實(shí)現(xiàn)了 .NET Standard,包含集合、文件系統(tǒng)、JSON、異步等API
  • Roslyn 編輯器:用于將 C# 或 VB.NET 代碼編譯為程序集
  • .NET Core CLI 工具:用于構(gòu)建 .NET Core 應(yīng)用程序和類庫(kù)

.NET Core 采用包化的管理方式,應(yīng)用程序只需要獲取需要的組件即可

2.2 .NET Standard 簡(jiǎn)介

.NET Standard 是一套 .NET 規(guī)范或標(biāo)準(zhǔn),它定義了所有 .NET 平臺(tái)都應(yīng)該實(shí)現(xiàn)的接口

.NET 平臺(tái)包括 .NET Core、.NET Framework、Xamarin

每個(gè)平臺(tái)支持不同的應(yīng)用模型,而且都基于相應(yīng)的基礎(chǔ)類庫(kù),通過(guò) .NET Standard 可以實(shí)現(xiàn)類庫(kù)共享

.NET Standard 2.0 的 API 主要包括以下幾個(gè)方面:

  • IO
  • XML
  • Serialization
  • Threading
  • Data
  • Networking
  • Core

.NET Standard 2.1 新增3000多個(gè) API,主要包括 Span、ValueTask、ValueTask、DbProviderFactories 等

2.3 ASP.NET Core 簡(jiǎn)介

ASP.NET Core 是免費(fèi)、開源、高性能而且跨平臺(tái)的 Web 框架,用來(lái)構(gòu)建 Web 應(yīng)用程序

ASP.NET Core 具有以下優(yōu)點(diǎn):

  • 跨平臺(tái),能夠在 Windows、macOS 和 Linux 系統(tǒng)上開發(fā)、編譯和運(yùn)行
  • 統(tǒng)一 Web UI 與 Web API 開發(fā)
  • 集成新式客戶端框架和開發(fā)工作流
  • 基于環(huán)境配置以及云就緒配置
  • 內(nèi)置依賴注入
  • 輕型的高性能模塊化 HTTP 請(qǐng)求管道
  • 能夠在 IIS、Nginx、Apache 和 Docker 上進(jìn)行托管或者在當(dāng)前進(jìn)程內(nèi)自托管
  • 當(dāng)目標(biāo)框架為 .NET Core 時(shí),支持并行應(yīng)用版本控制
  • 簡(jiǎn)化新式 Web 開發(fā)工具
  • 開源和以社區(qū)為中心

ASP.NET Core 2.1 新增特性

  • SignalR
  • HTTPS
  • Razor 類庫(kù)
  • [ApiController] 特性和 ActionResult 類
  • Identity UI 類庫(kù)
  • Microsoft.AspNetCore.App

ASP.NET Core 2.2 新增特性

  • IIS 進(jìn)程內(nèi)托管
  • HTTP/2 支持
  • OpenAPI 分析器和約定
  • Kestrel 配置
  • 運(yùn)行狀況檢查
  • SignalR Java 客戶端
  • CORS 改進(jìn)

2.4 設(shè)置開發(fā)環(huán)境

.NET Core Runtime 與 SDK 的區(qū)別:

  • .NET Core Runtime 僅包含 .NET Core 應(yīng)用程序運(yùn)行所需要的資源
  • .NET Core SDK 不僅包含了 .NET Core Runtime,也包含了開發(fā)程序時(shí)所依賴的庫(kù)文件以及 SDK 工具等

.NET Core CLI 就是 .NET Core 命令行界面,它是一個(gè)開發(fā) .NET Core 應(yīng)用程序的跨平臺(tái)工具鏈,安裝完 SDK 之后就可以使用

.NET Core CLI 命令:

  • dotnet sln
  • dotnet add
  • dotnet remove
  • dotnet build
  • dotnet run
  • dotnet publish
  • dotnet ef
  • dotnet dev-certs https
  • dotnet test

2.5 創(chuàng)建第一個(gè) API 項(xiàng)目

ASP.NET Core Web 應(yīng)用程序包含以下若干文件:

  • launchSetting.json:應(yīng)用程序運(yùn)行配置文件,如 URL 和端口信息等
  • wwwroot:用于存儲(chǔ)靜態(tài)文件,如圖片、CSS 和 JavaScript 等文件
  • 依賴項(xiàng):當(dāng)前應(yīng)用程序所依賴的 NuGet 包和 SDK
  • Controllers:存儲(chǔ)所有控制器類文件
  • appsettings.json:配置文件,用于存儲(chǔ)在應(yīng)用程序運(yùn)行時(shí)要用到的一些配置項(xiàng)
  • Program.cs:程序入口類,ASP.NET Core 應(yīng)用程序從這個(gè)類中的 Main 函數(shù)運(yùn)行,這與控制臺(tái)程序完全一樣
  • Startup.cs:應(yīng)用程序啟動(dòng)時(shí)的配置類,用于配置 ASP.NET Core 應(yīng)用程序中的服務(wù)、中間件、MVC 和異常處理等

《ASP.ENT Core 與 RESTful API 開發(fā)實(shí)戰(zhàn)》-- 讀書筆記(第2章)_json


本文摘自 :https://blog.51cto.com/u

開通會(huì)員,享受整站包年服務(wù)立即開通 >