《ASP.NET Core 3全棧Web開發(第3版) 使用.NET Core 3.1 和 Angular 9》是清華大學出版社2021年出版的圖書,作者是[意] 瓦萊里奧·德·桑克蒂斯(Valerio De Sanctis),譯者是趙利通和崔戰友。
基本介紹
- 中文名:ASP.NET Core 3全棧Web開發(第3版) 使用.NET Core 3.1 和 Angular 9
- 作者:[意] 瓦萊里奧·德·桑克蒂斯(Valerio De Sanctis)
- 原作品:ASP.NET Core 3 and Angular 9: Full Stack Web Development with .NET Core 3.1 and Angular 9, Third Edition
- 譯者:趙利通 崔戰友
- 出版社:清華大學出版社
- 出版時間:2021年1月
- 定價:118 元
- 開本:16 開
- ISBN:9787302572183
內容簡介,圖書目錄,
內容簡介
主要內容
● 使用ASP.NET Core實現Web API接口,並通過Angular和RxJS Observable來使用接口。
● 使用Entity Framework Core的代碼優先方法和遷移支持來創建數據模型。
● 使用本地實例或Azure中的雲數據存儲來建立和配置SQL資料庫伺服器。
● 使用Visual Studio 2019執行C#和JavaScript調試。
● 使用xUnit、Jasmine和Karma執行TDD和BDD單元測試。
● 使用ASP.NET Identity、IdentityServer4和Angular API實現身份驗證和授權。
● 構建漸進式Web套用,並探索服務工作執行緒。
圖書目錄
第1章 準備工作 1
1.1 技術需求 1
1.2 兩個框架,一個目標 2
1.2.1 ASP.NET Core的變革 2
1.2.2 Angular有哪些新變化? 5
1.2.3 選擇.NET Core和Angular的理由 11
1.3 全棧方法 12
1.4 SPA、NWA和PWA 12
1.4.1 單頁面應用程式 13
1.4.2 原生Web應用程式 13
1.4.3 漸進式Web應用程式 13
1.4.4 產品負責人的期望 15
1.5 SPA項目示例 16
1.6 準備工作空間 16
1.6.1 免責聲明 17
1.6.2 創建項目 18
1.7 小結 22
1.8 推薦主題 22
第2章 探索項目 23
2.1 技術需求 23
2.2 解決方案概述 23
2.3 .NET Core後端 24
2.3.1 Razor頁面 24
2.3.2 控制器 25
2.3.3 配置檔案 26
2.4 Angular前端 32
2.4.1 工作空間 32
2.4.2 /ClientApp/src/資料夾 38
2.4.3 測試套用 40
2.5 開始工作 44
2.5.1 靜態檔案快取 44
2.5.2 清理客戶端套用 48
2.6 小結 53
2.7 推薦主題 53
第3章 前端與後端的互動 55
3.1 技術需求 55
3.2 .NET Core健康檢查簡介 55
3.2.1 添加HealthCheck中間件 56
3.2.2 添加網際控制報文協定檢查 57
3.2.3 改進ICMPHealthCheck類 59
3.3 Angular中的健康檢查 64
3.3.1 創建Angular組件 64
3.3.2 將組件添加到Angular套用 73
3.4 小結 75
3.5 推薦主題 75
第4章 使用Entity Framework Core 創建數據模型 77
4.1 技術需求 77
4.2 WorldCities Web套用 78
4.3 數據源 80
4.4 數據模型 81
4.4.1 Entity Framework Core簡介 81
4.4.2 安裝Entity Framework Core 82
4.4.3 SQL Server數據提供者 83
4.4.4 數據建模方法 84
4.5 創建實體 88
4.5.1 定義實體 88
4.5.2 定義關係 92
4.6 獲取SQL Server 94
4.6.1 安裝SQL Server 2019 95
4.6.2 在Azure上創建資料庫 97
4.6.3 配置資料庫 102
4.7 使用代碼優先方法創建資料庫 104
4.7.1 設定DbContext 105
4.7.2 資料庫初始化策略 106
4.7.3 更新appsettings.json檔案 106
4.7.4 創建資料庫 107
4.7.5 添加初始遷移 107
4.8 填充資料庫 111
4.9 實體控制器 117
4.9.1 CitiesController 117
4.9.2 CountriesController 120
4.10 小結 120
4.11 推薦主題 121
第5章 獲取和顯示數據 123
5.1 技術需求 123
5.2 獲取數據 123
5.2.1 請求和回響 123
5.2.2 一個長列表 125
5.3 使用Angular Material提供數據 129
5.3.1 MatTableModule 131
5.3.2 MatPaginatorModule 134
5.3.3 MatSortModule 144
5.3.4 添加過濾功能 156
5.4 更新國家/地區 165
5.4.1 .NET Core 165
5.4.2 Angular 168
5.5 小結 173
5.6 推薦主題 174
第6章 表單和數據驗證 175
6.1 技術需求 175
6.2 探索Angular表單 176
6.2.1 Angular中的表單 176
6.2.2 使用表單的理由 177
6.2.3 模板驅動的表單 178
6.2.4 模型驅動的/回響式表單 179
6.3 構建第一個回響式表單 181
6.3.1 ReactiveFormsModule 181
6.3.2 CityEditComponent 182
6.3.3 添加導航連結 187
6.4 添加一個新城市 190
6.4.1 擴展CityEditComponent 190
6.4.2 添加Create a new City按鈕 193
6.4.3 HTML select 195
6.4.4 Angular Material select(MatSelectModule) 199
6.5 理解數據驗證 201
6.5.1 模板驅動的驗證 202
6.5.2 模型驅動的驗證 203
6.5.3 伺服器端驗證 207
6.6 FormBuilder簡介 213
6.6.1 創建CountryEditComponent 213
6.6.2 測試CountryEditComponent 223
6.7 小結 226
6.8 推薦主題 226
第7章 代碼調整和數據服務 227
7.1 技術需求 227
7.2 最佳化和調整 227
7.2.1 模板改進 228
7.2.2 類繼承 229
7.3 Bug修復和改進 232
7.3.1 驗證lat和lon 232
7.3.2 添加城市個數 235
7.3.3 DTO類——真的應該使用它們嗎? 240
7.3.4 添加國家/地區名稱 244
7.4 數據服務 247
7.4.1 對比XMLHttpRequest與fetch(和HttpClient) 248
7.4.2 構建數據服務 251
7.5 小結 267
7.6 推薦主題 267
第8章 後端和前端調試 269
8.1 技術需求 269
8.2 後端調試 269
8.2.1 Windows還是Linux? 270
8.2.2 基礎知識 270
8.2.3 條件斷點 270
8.2.4 Output視窗 273
8.2.5 調試EF Core 274
8.3 前端調試 280
8.3.1 Visual Studio中的JavaScript調試 280
8.3.2 瀏覽器開發者工具 282
8.3.3 調試Angular表單 284
8.3.4 客戶端調試 289
8.4 小結 290
8.5 推薦主題 290
第9章 ASP.NET Core和Angular單元測試 291
9.1 技術需求 291
9.2 .NET Core單元測試 292
9.2.1 創建WorldCities.Tests項目 292
9.2.2 第一個測試 294
9.2.3 測試驅動的開發 300
9.2.4 行為驅動的開發 301
9.3 Angular單元測試 302
9.3.1 一般概念 303
9.3.2 第一個Angular測試套件 304
9.4 小結 313
9.5 推薦主題 314
第10章 身份驗證和授權 315
10.1 技術需求 315
10.2 是否進行身份驗證和授權 316
10.2.1 身份驗證 316
10.2.2 授權 318
10.2.3 專有與第三方 318
10.3 使用.NET Core進行專有身份驗證和授權 319
10.3.1 ASP.NET Core Identity Model 320
10.3.2 設定ASP.NET Core Identity 321
10.4 更新資料庫 337
10.4.1 添加身份遷移 337
10.4.2 套用遷移 337
10.4.3 對數據執行seed操作 339
10.5 身份驗證方法 341
10.5.1 會話 341
10.5.2 令牌 342
10.5.3 簽名 343
10.5.4 雙因子 343
10.5.5 結論 343
10.6 在Angular中實現身份驗證 343
10.6.1 創建AuthSample項目 344
10.6.2 探索Angular授權API 346
10.7 在WorldCities套用中實現授權API 359
10.7.1 導入前端授權API 359
10.7.2 調整後端代碼 361
10.7.3 測試登錄和註冊 364
10.8 小結 365
10.9 推薦主題 365
第11章 漸進式Web套用 367
11.1 技術需求 367
11.2 PWA的特徵 367
11.2.1 安全源 368
11.2.2 離線載入和Web套用清單 369
11.3 實現PWA需求 370
11.3.1 手動安裝 370
11.3.2 自動安裝 377
11.4 處理離線狀態 379
11.4.1 選項1:視窗的isonline/isoffline事件 379
11.4.2 選項2:Navigator.onLine屬性 379
11.4.3 選項3:ng-connection-service npm包 380
11.4.4 跨請求資源共享 384
11.5 測試PWA能力 385
11.5.1 使用Visual Studio和IIS Express 385
11.5.2 其他測試方法 390
11.6 小結 391
11.7 推薦主題 392
第12章 Windows和Linux部署 393
12.1 技術需求 393
12.2 為生產環境做好準備 393
12.2.1 .NET Core部署提示 394
12.2.2 Angular部署提示 399
12.3 Windows部署 402
12.3.1 在MS Azure上創建一個Windows Server VM 402
12.3.2 配置VM 406
12.3.3 發布和部署HealthCheck套用 408
12.3.4 配置IIS 410
12.3.5 測試HealthCheck Web套用 414
12.4 Linux部署 415
12.4.1 在MS Azure中創建一個Linux CentOS VM 416
12.4.2 配置Linux VM 417
12.4.3 調整WorldCities套用 421
12.4.4 發布和部署WorldCities套用 423
12.4.5 配置Kestrel和Nginx 425
12.4.6 測試WorldCities套用 430
12.5 小結 432
12.6 推薦主題 433