ASP.NET Core 3從入門到實戰( 簡體 字) | |
作者:校寶在線 肖偉宇 翁琳鼎 王斌 厲紅兵 | 類別:1. -> 程式設計 -> .NET -> ASP.NET |
出版社:機械工業出版社 | 3dWoo書號: 54225 詢問書籍請說出此書號! 有庫存 NT售價: 395 元 |
出版日:12/1/2020 | |
頁數:284 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787111669845 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 為什么選擇ASP.NET Core 1
1.1 什么是.NET 1 1.2 ASP.NET Core的特點 3 1.3 讀者能從本書學到什么 4 第2章 ASP.NET Core開發工具安裝 6 2.1 .NET Core SDK安裝 6 2.1.1 獲取.NET Core SDK 6 2.1.2 安裝.NET Core SDK 7 2.2 Visual Studio Code安裝 7 2.2.1 獲取Visual Studio Code 8 2.2.2 安裝Visual Studio Code 8 2.2.3 更新Visual Studio Code 10 2.3 Visual Studio 2019安裝 10 2.3.1 確保計算機可以安裝Visual Studio 10 2.3.2 獲取 Visual Studio 11 2.3.3 安裝Visual Studio安裝程序 11 2.3.4 啟動安裝程序 12 第3章 ASP.NET Core核心組件詳解 13 3.1 框架總述 13 3.2 依賴注入 14 3.2.1 什么是依賴注入 14 3.2.2 依賴注入組件 15 3.2.3 服務描述類ServiceDescriptor 16 3.2.4 IServiceCollection與服務注冊 18 3.2.5 通過IServiceProvider獲取服務實例 20 3.2.6 作用域與生命周期 22 3.2.7 IDisposable與生命周期 25 3.2.8 擴展接口IServiceProviderFactory 25 3.2.9 在Controller中獲取服務 28 3.3 配置組件 29 3.3.1 配置組件的構造過程 29 3.3.2 內存配置提供程序 32 3.3.3 命令行配置提供程序 32 3.3.4 環境變量配置提供程序 34 3.3.5 文件配置提供程序 35 3.3.6 Key-per-file配置提供程序 37 3.3.7 使用IConfiguration讀取配置 38 3.3.8 使用強類型接收配置 40 3.4 選項組件 42 3.4.1 選項的注入與使用 42 3.4.2 使用命名選項 44 3.4.3 驗證選項 46 3.4.4 選項后期配置 47 3.5 中間件 48 3.5.1 注冊中間件 49 3.5.2 常用的內置中間件 51 3.6 路由與終結點 52 3.6.1 注冊終結點 53 3.6.2 路由模板 54 3.6.3 特性路由 55 3.6.4 路由約束 56 3.6.5 生成鏈接 57 第4章 基于MVC設計模式的Web應用 59 4.1 創建第一個ASP.NET Core MVC項目 59 4.2 什么是MVC模式 63 4.3 視圖 64 4.3.1 使用視圖的好處 65 4.3.2 創建視圖 66 4.3.3 利用控制器指定視圖 66 4.3.4 視圖發現 67 4.3.5 向視圖傳遞數據 68 4.3.6 動態視圖 72 4.4 部分視圖 73 4.4.1 何時使用部分視圖 73 4.4.2 聲明部分視圖 73 4.4.3 引用部分視圖 74 4.4.4 呈現部分視圖 75 4.4.5 通過部分視圖訪問數據 76 4.5 控制器 78 4.5.1 什么是控制器 78 4.5.2 Action 79 4.5.3 橫切關注點 80 4.6 路由 80 4.6.1 自定義路由 81 4.6.2 混合路由 82 4.6.3 動態路由 82 4.7 區域 85 4.8 篩選器 89 4.8.1 篩選器的工作原理 90 4.8.2 實現 91 4.9 模型綁定器 95 4.9.1 什么是模型綁定 95 4.9.2 目標 96 4.9.3 源 97 4.9.4 不存在模型屬性的源 98 4.9.5 類型轉換錯誤 99 4.9.6 復雜類型 99 4.9.7 集合 101 4.9.8 字典 102 4.9.9 模型綁定路由數據和URL字符串參數的全局行為 102 4.9.10 特殊數據類型 103 4.9.11 輸入格式化程序 103 4.9.12 從模型綁定中排除指定類型 105 4.9.13 手動模型綁定 106 第5章 基于ASP.NET Core的Web API 107 5.1 創建ASP.NET Core的Web API項目 107 5.2 帶有Swagger的Web API幫助頁 111 5.2.1 Swashbuckle.AspNetCore 111 5.2.2 Swagger規范 112 5.2.3 Swagger UI 113 5.3 ASP.NET Core Web API中控制器的返回類型 114 5.3.1 特定類型 114 5.3.2 IActionResult 類型 115 5.3.3 ActionResult 類型 117 5.4 Web API約定 118 5.4.1 應用Web API約定 119 5.4.2 創建Web API約定 120 第6章 ASP.NET Core中的數據庫訪問 122 6.1 Entity Framework Core 122 6.2 安裝并運行MySQL 123 6.2.1 啟動MySQL 125 6.2.2 創建數據庫 125 6.3 數據庫訪問 126 6.3.1 添加數據庫上下文 126 6.3.2 創建控制器 127 6.4 .NET Core Dapper 128 第7章 安全與身份認證 129 7.1 身份認證 129 7.1.1 身份認證處理程序 130 7.1.2 身份認證方案 130 7.1.3 身份認證服務 130 7.1.4 身份認證中間件 131 7.1.5 添加基于策略的身份認證方案 132 7.1.6 用戶信息模型 133 7.1.7 添加自定義身份認證處理程序 133 7.2 授權 135 7.2.1 簡單授權 135 7.2.2 基于角色的授權 136 7.2.3 基于策略的授權 137 7.2.4 授權中間件 137 7.2.5 授權處理程序 138 7.2.6 自定義授權處理程序 139 7.3 集成IdentityServer4 139 7.4 數據保護 141 7.4.1 數據保護入門 142 7.4.2 用戶機密管理 143 7.4.3 小結 143 7.5 強制HTTPS 143 7.5.1 RequireHttpsAttribute 144 7.5.2 HTTPS重定向中間件 144 7.5.3 HTTP嚴格傳輸安全協議 145 7.6 防跨站請求偽造 145 7.6.1 什么是跨站請求偽造 146 7.6.2 同步令牌模式 146 7.7 防開放重定向攻擊 147 7.8 防跨站腳本 148 7.8.1 防范跨站腳本攻擊 149 7.8.2 使用Razor的HTML編碼 149 7.8.3 使用Razor的JavaScript編碼 149 7.8.4 小結 150 7.9 跨域請求 150 7.9.1 跨域資源共享 150 7.9.2 啟用CORS中間件 150 7.9.3 配置需要CORS的資源路徑 152 7.9.4 小結 152 第8章 基于SignalR開發實時通信應用 153 8.1 基于SignalR的實時通信 153 8.1.1 數據交互傳輸 153 8.1.2 Hub中心 154 8.2 服務端實現 155 8.2.1 創建和使用Hub 155 8.2.2 啟用SignalR 155 8.2.3 上下文對象Context 156 8.2.4 Clients對象 156 8.2.5 向客戶端發送消息 157 8.2.6 處理連接事件 158 8.2.7 用戶和組 158 8.2.8 服務的可擴展實現 159 8.3 客戶端實現 160 8.3.1 創建connection對象 160 8.3.2 使用on添加客戶端方法 160 8.3.3 使用start開始連接服務端 160 8.3.4 使用invoke調用服務端方法 161 8.3.5 自動連接 161 8.3.6 手動重連 163 第9章 基于Blazor的Web客戶端技術 164 9.1 Blazor的應用模型 165 9.2 創建項目 166 9.3 頁面路由 169 9.4 數據綁定 171 9.5 組件 172 9.5.1 模板化組件 172 9.5.2 組件庫 174 9.6 狀態管理 176 第10章 日志與監控 181 10.1 日志組件 181 10.1.1 日志類別 183 10.1.2 日志級別 184 10.1.3 日志對象與依賴注入 185 10.1.4 事件ID 186 10.1.5 使用日志模板 187 10.1.6 日志作用域 188 10.1.7 篩選日志輸出 192 10.2 健康檢查組件 193 10.2.1 注冊健康檢查 194 10.2.2 配置健康檢查終結點 196 10.2.3 自定義健康檢查項 198 10.2.4 檢查結果發布器 199 第11章 遠程調用 201 11.1 使用HttpClient調用遠程API 201 11.1.1 構造HttpClient 201 11.1.2 發出請求 203 11.1.3 設置代理 204 11.1.4 處理Cookie 204 11.2 使用HttpClientFactory機制管理HttpClient 205 11.2.1 注冊并使用HttpClientFactory 205 11.2.2 使用命名客戶端 207 11.2.3 使用類型化客戶端 208 11.2.4 使用ConfigureHttpClient 209 11.2.5 使用ConfigurePrimaryHttpMessageHandler 210 11.2.6 理解生命周期 211 11.2.7 HTTP請求管道 212 11.2.8 使用ConfigureHttpMessageHandlerBuilder 213 11.2.9 關于請求日志 214 11.3 使用gRPC實現高性能遠程調用 215 11.3.1 定義接口描述 216 11.3.2 配置服務端 217 11.3.3 配置客戶端 219 11.3.4 使用dotnet-grpc命令行工具管理 .proto 文件引用 220 第12章 部署ASP.NET Core應用 222 12.1 部署到IIS中 222 12.1.1 概述 222 12.1.2 下載和安裝ASP.NET Core模塊 223 12.1.3 部署到IIS 站點 224 12.2 部署為Windows Service 227 12.2.1 配置應用 227 12.2.2 安裝和運行服務 228 12.3 部署到Linux中 228 12.3.1 安裝.NET運行時 228 12.3.2 部署應用 229 12.3.3 反向代理 230 12.4 部署到Docker中 231 12.4.1 Docker簡介 231 12.4.2 Docker術語 231 12.4.3 生成和制作Dockerfile 232 12.4.4 生成鏡像 233 12.4.5 部署鏡像 234 12.5 高可用架構 234 12.5.1 概述 234 12.5.2 應用本身的高可用保障 235 第13章 ASP.NET Core高級內容 236 13.1 文件提供程序 236 13.1.1 訪問本地物理文件系統 237 13.1.2 監視文件的變化 237 13.2 請求功能接口 238 13.3 URL重寫 239 13.3.1 重寫規則 239 13.3.2 IRule接口 241 13.3.3 小結 242 13.4 緩存 242 13.4.1 緩存標記幫助程序 242 13.4.2 內存緩存和分布式緩存 243 第14章 結合ML.NET實現機器學習應用 245 14.1 機器學習簡介 245 14.1.1 什么是機器學習 245 14.1.2 機器學習的作用 246 14.1.3 機器學習的分類 247 14.1.4 機器學習的典型步驟 247 14.2 ML.NET 簡介 248 14.3 ML.NET特色功能 249 14.4 ML.NET開發環境搭建 252 14.4.1 安裝ML.NET庫 252 14.4.2 安裝Microsoft.ML.TimeSeries與Microsoft.ML.AutoML 253 14.4.3 安裝ML.NET模型生成器 254 14.4.4 安裝ML.NET命令行接口工具 254 14.5 ML.NET快速上手 255 14.5.1 構建模型階段 256 14.5.2 使用模型階段 256 14.6 ML.NET與ONNX實踐 259 14.6.1 準備事項 260 14.6.2 創建控制臺應用程序 260 14.6.3 準備數據和預訓練的模型 260 14.6.4 定義輸入和輸出數據結構 261 14.6.5 定義評分預測類 261 14.6.6 使用模型進行分析和輸出 266 第15章 更多的學習途徑 270 15.1 .NET Core的學習途徑 270 15.2 其他需要關注的技術 271 在Web應用研發領域容器編排、微服務、服務網格等先進架構已大行其道的今天,本書作為ASP.NET Core的入門教程,可以讓廣大開發人員在自己的技能列表里添加上這個關鍵項。本書從ASP.NET Core的核心組件入手,延伸到MVC、WebAPI、SignalR(實時通信應用)、Blazor(wasm應用)、機器學習等多種應用開發,全方位地講解ASP.NET Core的應用場景、開發實踐和部署發布,帶領讀者學習從開發到發布基于ASP.NET Core項目的全過程。
本書主要針對的是對C#語法和Web開發有一定了解、期望使用C#語言開發Web項目的初學者,也可以是具有ASP.NET MVC開發經驗、希望通過ASP.NET Core提升跨平臺和容器化開發能力的開發者。 |