描述
內容簡介
| https://youtu.be/TQe9tg9HRNw
★.NET Core/ASP.NET Core 跨平台 Web 與後端介面開發 ★.NET Core 與 .NET Framework/.NET 的差異與版本脈絡 ★ASP.NET Core 特點、版本與與 ASP.NET 的關係 ★.NET Standard 定義、版本與選型方法 ★環境架設:Visual Studio 2022/VS Code/Mac 開發配置 ★dotnet 命令列工具與 NuGet 套件管理(CLI/VS 管理器) ★C# 新語法:頂級敘述、using 改進、可空引用、模式比對、record ★非同步程式設計:async/await、Task、宣告呼叫與原理解析 ★LINQ:查詢運算子、Func/Lambda 與集合篩選、分頁實作 ★核心元件:相依注入、設定系統、日誌介面與使用流程 ★Web 核心技術:中介軟體、路由、錯誤處理、靜態檔案、Razor、EF Core、MVC、WebAPI、Swagger ★高階與實戰:Blazor、SignalR、gRPC、驗證授權、IIS/Kestrel 部署,開源框架 Furion/vboot-net/Magic.NET/CoreShop/Orchard Core 解析
本書以.NET Core與ASP.NET Core為主軸,將網路資料分散、難以系統學習的內容整理成完整路徑,從入門概念、環境架設、dotnet命令與NuGet套件管理、C#新語法、非同步與LINQ開始,逐步進入相依注入、設定系統與日誌等核心元件,再延伸到Web應用專案結構、中介軟體、路由、錯誤處理、靜態檔案、Razor、EF Core資料存取與遷移、MVC網站與WebAPI(含Swagger)等主線技能;進一步補上Blazor、SignalR、gRPC、身份驗證授權與釋出部署(IIS、Kestrel),並以5個熱門開放原始碼框架作專案級解析,適合.NET Core技術同好、ASP.NET轉換者與Web開發者按篇章循序實作。 |
作者簡介
| 明日科技
全稱是吉林省明日科技有限公司,是一家專業從事軟體發展、教育培訓以及軟體發展教育資源整合的高科技公司,其編寫的教材非常注重選取軟體發展中的必需、常用内容,同時也很注重内容的易學、方便性以及相關知識的拓展性,深受讀者喜愛。 |
目錄
| ▌第1篇 基礎知識
►第1 章 ASP.NET Core 入門 1.1 認識.NET Core 1.1.1 .NET Core 與.NET Framework 1.1.2 .NET Core 與.NET 1.1.3 .NET Core 的特點 1.1.4 .NET Core 的版本 1.1.5 .NET Core 的應用領域 1.2 ASP.NET Core 1.2.1 ASP.NET Core 的特點 1.2.2 ASP.NET Core 的版本 1.2.3 ASP.NET Core 與ASP.NET 1.3 .NET Standard 1.3.1 什麼是.NET Standard 1.3.2 .NET Standard 的版本 1.3.3 如何選擇.NET Standard 版本 1.4 要 點 回 顧
►第2 章 .NET Core 環境架設 2.1 Visual Studio 2022 2.1.1 安裝Visual Studio 2022 的必備條件 2.1.2 下載Visual Studio 2022 2.1.3 安裝Visual Studio 2022 2.1.4 Visual Studio 2022 的維護 2.1.5 Visual Studio 2022 的使用 2.1.6 熟悉Visual Studio 2022 2.2 Visual Studio Code 2.2.1 下載Visual Studio Code 2.2.2 安裝Visual Studio Code 2.2.3 Visual Studio Code 的中文化 2.2.4 設定Visual Studio Code 主題 2.2.5 Visual Studio Code 的設定 2.2.6 Visual Studio Code 的使用 2.3 Visual Studio for Mac 2.3.1 安裝Visual Studio 2022 for Mac的必備條件 2.3.2 下載Visual Studio 2022 for Mac 2.3.3 安裝並使用Visual Studio 2022 for Mac 2.4 要 點 回 顧
►第3 章 .NET Core 命令列工具及套件管理 3.1 dotnet 命令 3.1.1 dotnet 概述 3.1.2 dotnet 命令的使用 3.2 NuGet 套件管理 3.2.1 什麼是NuGet 3.2.2 使用dotnet 命令管理NuGet 3.2.3 Visual Studio 中的NuGet 套件管理器 3.3 要 點 回 顧
►第4 章 C# 新語法 4.1 頂 級 敘 述 4.2 using 名稱空間相關改進 4.2.1 檔案範圍的名稱空間宣告 4.2.2 對於using 宣告的改進 4.2.3 指定全域性using 指令 4.2.4 隱式using 指令 4.3 可空引用型別 4.4 模式匹配與if 4.4.1 型別模式 4.4.2 宣告模式 4.4.3 關係模式 4.4.4 邏輯模式 4.4.5 屬性模式 4.5 模式比對與switch 4.6 switch 表示式 4.7 record 記錄型別 4.7.1 引用型別記錄 4.7.2 值型別記錄 4.8 要 點 回 顧
►第5 章 非同步程式設計 5.1 什麼是非同步程式設計 5.2 .NET 非同步程式設計基礎 5.2.1 async 和await 5.2.2 Task 類別 5.2.3 常用支援非同步程式設計的型別 5.3 非同步方法的宣告及呼叫 5.4 探秘非同步程式設計背後的原理 5-8 5.5 非同步與多執行緒的區別 5.6 要 點 回 顧
►第6 章 LINQ 程式設計 6.1 LINQ 概述 6.2 LINQ 尋找基礎 6.2.1 LINQ 中的尋找形式 6.2.2 LINQ 尋找表示式的結構 6.2.3 標準尋找運算子 6.2.4 有關LINQ 的語言特性 6.2.5 Func 委託與匿名方法 6.2.6 Lambda 表示式 6.3 LINQ 程式設計應用 6.3.1 簡單的List 集合篩選 6.3.2 模擬資料分頁 6.4 要 點 回 顧
▌第2篇 核心技術 ►第7 章 .NET Core 核心元件 7.1 依 賴 注 入 7.1.1 什麼是相依注入 7.1.2 相依注入中的幾個基本概念 7.1.3 .NET Core 內建相依注入容器 7-5 7.1.4 生命週期 7.1.5 相依注入的實現 7.1.6 相依注入的應用 7.2 配 置 系 統 7.2.1 增加設定檔案 7.2.2 讀取設定設定 7.2.3 其他型別的設定檔案增加及讀取 7.2.4 設定系統使用總結 7.3 日誌 7.3.1 日誌相關的介面 7.3.2 日誌的使用步驟 7.4 要 點 回 顧
►第8 章 ASP.NET Core Web應用 8.1 建立ASP.NET Core Web 應用 8.2 ASP.NET Core Web 應用基礎 8.2.1 ASP.NET Core Web 應用專案結構 8.2.2 ASP.NET Core 相依注入 8.2.3 設定 8.2.4 使用者機密設定 8.2.5 中介軟體 8.2.6 日誌 8.2.7 路由 8.2.8 錯誤處理 8.2.9 靜態檔案 8.3 要 點 回 顧
►第9 章 Razor 與ASP.NET Core 9.1 Razor 基礎 9.1.1 什麼是Razor 9.1.2 認識Razor 的版面設定頁 9.2 Razor 語法 9.2.1 Razor 預設程式分析 9.2.2 Razor 輸出 9.2.3 註釋 9.2.4 程式區塊 9.2.5 條件敘述 9.2.6 迴圈敘述 9.2.7 異常處理敘述 9.2.8 常用Razor 指令 9.3 Razor 在ASP.NET Core 中的應用 9.4 要 點 回 顧
►第10 章 ASP.NET Core 資料存取 10.1 認識EF Core 10.1.1 什麼是EF 10.1.2 EF Core 與EF 10.1.3 EF Core 的版本 10.2 EF Core 的使用 10.2.1 建立並設定實體類別 10.2.2 建立DbContext 10.2.3 資料庫的遷移 10.2.4 透過程式遷移資料庫 10.2.5 選學:在EF Core 中使用現有資料庫 10.2.6 客戶端評估和服務端評估 10.3 EF Core 的效能最佳化 10.3.1 分頁尋找 10.3.2 全域性尋找篩選器 10.3.3 原始SQL 尋找 10.3.4 追蹤與非追蹤尋找 10.3.5 延遲載入 10.4 案例:EF Core 在學生資訊管理系統中的應用 10.4.1 建立Razor 頁面 10.4.2 顯示學生資訊列表 10.4.3 增加學生資訊 10.4.4 修改學生資訊 10.4.5 刪除學生資訊 10.4.6 檢視學生詳細資訊 10.5 要 點 回 顧
►第11 章 ASP.NET Core MVC網站開發 11.1 MVC 基礎 11.1.1 MVC 簡介 11.1.2 模型、檢視和控制器 11.1.3 什麼是Routing 11.1.4 MVC 的請求過程 11.2 ASP.NET Core MVC 的實現過程 11.2.1 建立ASP.NET Core MVC網站 11.2.2 增加資料模型類別 11.2.3 增加控制器及檢視 11.2.4 資料庫設定及遷移 11.2.5 自定義MVC 路由設定規則 11.2.6 執行ASP.NET Core MVC網站 11.3 要 點 回 顧
►第12 章 ASP.NET Core WebAPI 12.1 WebAPI 基礎 12.1.1 什麼是前後端分離 12.1.2 ASP.NET Core 中的WebAPI 12.1.3 RESTful 基礎 12.2 ASP.NET Core WebAPI 專案架設 12.2.1 建立ASP.NET Core WebAPI專案 12.2.2 ASP.NET Core WebAPI 專案演示 12.3 ASP.NET Core WebAPI 專案分析 12.3.1 ControllerBase 類別 12.3.2 [ApiController] 和 [Route("[controller]")] 12.3.3 [HttpGet] 請求及其他HTTP請求 12.3.4 Swagger 12.4 ASP.NET Core WebAPI 應用 12.4.1 專案建立及初始化設定 12.4.2 建立控制器類別 12.4.3 WebAPI 測試 12.5 要 點 回 顧
▌第3篇 高階應用 ►第13 章 使用Blazor 建構應用 13.1 Blazor 概述 13.2 Blazor 基礎 13.2.1 Blazor 的3 種託管模式 13.2.2 Razor 元件 13.3 建立Blazor 應用 13.3.1 建立Blazor Server 應用 13.3.2 建立Blazor WebAssembly應用 13.3.3 Blazor 應用解析 13.4 Blazor 案例應用 13.5 要 點 回 顧
►第14 章 SignalR 伺服器端訊息推送 14.1 網路實時通訊發展歷史 14.1.1 XMLHttpRequest 14.1.2 AJAX 14.1.3 WebSocket 14.1.4 Server-Sent Events 14.1.5 SignalR 14.2 使用SignalR 建構實時通訊服務 14.2.1 增加SignalR 客戶端函式庫 14.2.2 實現SignalR Hub 類別 14.2.3 設定SignalR 伺服器 14.2.4 實現客戶端頁面 14.2.5 執行程式 14.2.6 針對部分客戶端進行訊息推送 14.3 SignalR 的分散式部署 14.4 要 點 回 顧
►第15 章 gRPC 遠端過程呼叫 15.1 gRPC 基礎 15.1.1 gRPC 概述 15.1.2 ProtoBuf 基礎 15.2 gRPC 服務端建立及解析 15.2.1 建立gRPC 服務端 15.2.2 gRPC 服務端專案解析 15.2.3 啟動gRPC 服務端 15.3 gRPC 客戶端呼叫 15.3.1 在ASP.NET Core Web 應用中呼叫gRPC 服務 15.3.2 在.NET 控制台應用中呼叫gRPC 服務 15.3.3 流式處理呼叫 15.4 gRPC 與WebAPI 的功能比較 15.5 要點回顧
►第16 章 身份驗證和授權 16.1 身份驗證和授權概念 16.1.1 身份驗證概述 16.1.2 授權概述 16.2 ASP.NET Core 中的身份驗證和授權機制 16.2.1 ASP.NET Core 中的身份驗證 16.2.2 ASP.NET Core 中的授權 16.2.3 身份驗證和授權機制實現 16.3 帶身份驗證的ASP.NET Core Web 專案解析 16.3.1 Program.cs 主程式檔案設定 16.3.2 自定義設定 16.3.3 註冊功能的實現 16.3.4 登入功能的實現 16.4 要 點 回 顧
►第17 章 ASP.NET Core 應用釋出部署 17.1 釋出部署概述 17.2 釋出ASP.NET Core 應用 17.2.1 使用Visual Studio 將應用釋出到資料夾 17.2.2 使用.NET CLI 命令釋出應用 17.3 部署ASP.NET Core 應用 17.3.1 在IIS 上部署 17.3.2 在Kestrel 伺服器上部署 17.4 要點回顧
▌第4篇 開放原始碼專案 ►第18 章 ASP.NET Core 開放原始碼專案解析 18.1 .NET 快速開發框架:Furion 18.1.1 框架介紹 18.1.2 執行環境及平臺 18.1.3 主要功能 18.1.4 Furion 框架的使用 18.2 .NET 快速開發框架:vboot-net 18.2.1 框架介紹 18.2.2 主要功能 18.2.3 vboot-net 框架的使用 18.2.4 效果預覽 18.3 通用授權管理框架:Magic.NET 18.3.1 框架介紹 18.3.2 主要功能 18.3.3 Magic.NET 框架的使用 18.3.4 效果預覽 18.4 電子商場類別框架:CoreShop 18.4.1 框架介紹 18.4.2 開發及執行維護環境 18.4.3 主要功能 18.4.4 專案結構 18.4.5 效果預覽 18.5 CMS 管理類別框架:Orchard Core 18.5.1 框架介紹 18.5.2 使用Orchard Core 的建站策略 18.5.3 Orchard Core 框架初體驗 18.5.4 在自己的專案中使用Orchard Core 框架 18.6 要 點 回 顧 |
序
| ▌前言
.NET Core 是微軟推出的新一代免費、跨平臺、開放原始碼的開發平臺,可用於生成多種型別的應用程式,而ASP.NET Core 是基於.NET Core 的一個跨平臺、高效能的開放原始碼框架,用來建構基於雲端且透過網際網路連線的應用程式,它是在.NET Core 平臺下進行Web 開發及後端介面開發的一種技術。 自2014 年微軟宣佈.NET 開放原始碼以來,經過多年的發展,網路上有關ASP.NET Core 的資料已經有很多了,但大多比較分散,而且講解如蜻蜓點水,致使很多想學習ASP.NET Core 的開發人員看完之後一頭霧水!基於以上原因,我們撰寫了本書。本書將系統全面地對與ASP.NET Core 相關的知識及應用進行講解,講解過程通俗易懂,清晰明瞭,力爭為ASP.NET Core 技術在國內的普及與發展奠定基礎。
本書內容 本書提供了從ASP.NET Core 入門到程式設計高手所必需的各類知識,內容共分為4 篇,具體如下。 第1 篇:基礎知識。本篇包括ASP.NET Core 入門、.NET Core 環境架設、.NETCore 命令列工具及套件管理、C# 新語法、非同步程式設計、LINQ 程式設計等內容,本篇所講內容是進行.NET Core 應用程式開發的基礎,讀者一定要熟練掌握,為以後進行程式設計奠定堅實的基礎。 第2 篇:核心技術。本篇介紹.NET Core 核心元件、ASP.NET Core Web 應用、Razor 與ASP.NET Core、ASP.NET Core 資料存取、ASP.NET Core MVC 網站開發、ASP.NET Core WebAPI 等內容。學習完本篇,讀者可以掌握ASP.NET Core應用程式開發的核心技術,並能夠開發一些不同型別的ASP.NET Core 應用。 第3 篇:高階應用。本篇介紹使用Blazor 建構應用、SignalR 伺服器端訊息推送、gRPC 遠端過程呼叫、身份驗證和授權、ASP.NET Core 應用釋出部署等內容。學習完本篇,讀者能夠為ASP.NET Core 應用增加Blazor 元件以及伺服器端訊息推送、遠端過程呼叫、身份驗證授權等高階功能,還可以將開發完成的應用釋出部署到伺服器上。 第4 篇:開放原始碼專案。本篇詳細剖析ASP.NET Core 的5 個最流行的熱門開放原始碼框架:Furion、vboot-net、Magic.NET、CoreShop、Orchard Core。系統解析這些開放原始碼框架的作用、特點、功能,並帶領讀者親身體驗其具體設定及使用過程,為讀者實際開發ASP.NET Core 專案提供借鏡模板。
本書特點 ► 由淺入深,循序漸進。本書以初、中級程式設計師為物件,帶領讀者先從.NET Core 的基礎學起,再學習ASP.NET Core 開發的核心技術,然後學習ASP.NET Core 的高階應用,最後學習5 個流行的ASP.NET Core開放原始碼框架。講解過程中步驟詳盡,版式新穎,在操作的內容圖片上按步驟進行標註,讓讀者在學習中一目了然,從而快速掌握書中內容。 ► 最新技術,典型應用。本書以較新的.NET 7.0 穩定版為基礎進行講解,在講解時,透過典型案例說明基礎知識的應用場景,全書共有36 個典型案例,讓讀者能夠快速上手。 ► 精彩專欄,貼心提醒。本書根據學習需要在正文中設計了很多「注意」「說明」等小專欄,讓讀者在學習的過程中更輕鬆地理解相關基礎知識及概念,更快地掌握相關技術的應用技巧。
目標讀者 ► .NET Core 技術同好 ► .ASP.NET Core 開發者 ► Web 開發者和開發同好 ► 大專院校相關專業的學生 ► 相關培訓機構的學員及老師 ► 熟悉C# 的開發人員 ► 從ASP.NET 轉到ASP.NET Core 的開發人員 ► 參加實習的網站開發人員
致讀者 本書由明日科技.NET Core 開發團隊組織撰寫。明日科技是一家專業從事軟體開發、教育培訓以及軟體開發教育資源整合的高科技公司。其撰寫的教材既注重選取軟體開發中的必需、常用內容,又注重內容的易學好用以及相關知識的拓展,深受讀者喜愛。同時,其撰寫的教材多次榮獲「全行業優秀暢銷品種」「中國大學出版社圖書獎優秀暢銷書」等獎項,多個品種長期位居同類別圖書銷售排行榜的前列。 在撰寫本書的過程中,我們始終本著科學、嚴謹的態度,力求精益求精,但書中難免有疏漏和不當之處,敬請讀者們批評指正。 感謝您購買本書,希望本書能成為您程式設計路上的領航者。 「零門檻」程式設計,一切皆有可能。祝讀書快樂! 編者 |





















