Chapter 1 關於 .NET 6
1-1 .NET 6/.NET Core 簡介
1-2 環境架設
1-3 建立專案
1-4 開發工具
Chapter 2 關於ASP.NET Core
2-1 簡介ASP.NET Core
2-2 ASP.NET Core 網站生命週期
2-3 專案目錄結構
Chapter 3 Middleware
3-1 ASP.NET Core Middleware 簡介
3-2 定義Middleware
3-1-1 Run
3-1-2 USE
3-1-3 Map
3-3 Middleware 順序
3-4 官方內建Middleware
Chapter 4 依賴注入(Dependency Injection)
4-1 IoC 控制反轉 (Inversion of Control)
4-2 DI 依賴注入(Dependency Injection)
4-3 在 DI 容器中控管服務的生命週期
Chapter 5 LINQ
5-1 查詢運算式(Query Expression)
5-2 方法語法(Fluent Syntax)
5-3 混合式查詢
5-4 LINQ 方法
5-4-1 對集合進行篩選 – Where()
5-4-2 取得匹配的第一筆資料或是空值 – FirstOrDefault()
5-4-3 設定資料的排序 – OrderBy() 與OrderByDescending()
5-4-4 將集合依照欄位進行分組 – GroupBy()
5-4-5 集合的運算
5-5 動態 LINQ
Chapter 6 Entity Framework Core
6-1 Entity Framework Core 簡介
6-2 DB First
6-3 Code First
6-3-1 修改資料模型並更新資料庫
6-3-2 新增測試資料
6-3-3 常用資料庫移轉指令
6-4 原始 SQL 查詢(Raw SQL Query)
6-4-1 基礎用法
6-4-2 使用LINQ
6-5 EF Core 攔截與紀
6-6 EF Core 查詢效能問題
Chapter 7 Web API
7-1 什麼是 Web API
7-2 Rest/Restful 簡介
7-2-1 Restful 簡介
7-2-2 常見HTTP 動詞(Verbs)
7-2-3 常用HTTP 狀態碼(Status Code)
7-3 使用 dotnet cli 搭配 EF Core 模型來產生 API Controllers
7-4 Minimal API
Chapter 8 架構分層
8-1 為什麼架構需要做分層
8-2 Repository Pattern( 倉儲模式)
Chapter 9 Swagger 簡介
9-1 Swagger/OpenAPI 是什麼?
9-2 為什麼要用Swagger/OpenAPI
9-3 使用Swagger
9-4 使用XML 註解
Chapter 10 路由
10-1 路由簡介
10-2 路由基礎
10-3 端點(Endpoint)
10-4 傳統路由
10-5 屬性路由(Attribute Routing)
Chapter 11 URL 重寫與URL 重新導向
11-1 什麼是URL 重寫
11-2 URL 重新導向和 URL 重寫
Chapter 12 Model Binding 模型繫結
12-1 Model Binding 簡介
12-2 模型驗證
Chapter 13 CORS 跨來源資源共用
13-1 關於CORS
13-2 在 ASP.NET Core 中啟用 CORS
13-2-1 在 Middleware 中使用 預設政策
13-2-2 在 Middleware 中使用命名政策
13-2-3 端點路由設定 CORS
13-3 CORS 政策的選項
Chapter 14 Filters
14-1 關於Filters
14-2 自定義 Filter
14-3 ResourceFilter
14-4 ResultFilter
Chapter 15 例外事件處理
15-1 開發者例外頁面
15-2 自訂例外事件處理 Exeption Handler
15-3 例外處理建議方式
15-4 使用自訂的Middleware 來處理例外狀況
15-5 使用 Action Filter 來修改例外事件發生後的 Response
Chapter 16 Logging 日誌紀錄
16-1 關於Logging
16-2 內建記錄提供者(Logging provider)
16-3 設定記錄
16-4 記錄等級
16-5 第三方的 Logging Provider
Chapter 17 結構化紀錄的好工具— Serilog
17-1 關於Serilog
17-2 安裝 Serilog
17-3 初始化 Serilog
17-4 加入更多設定
Chapter 18 Seq
18-1 Seq 簡介
18-2 Seq 安裝
18-3 將 Serilog 的記錄寫進 Seq
18-4 Text
18-5 屬性和運算符號
18-6 列出可用屬性
18-7 基本比對
18-8 嵌套屬性
18-9 事件類型
18-10 使用日期和時間
18-11 集合
18-12 Seq 的介面操作
18-12-1 紀錄保留策略
18-12-2 Seq Apps -Slack
18-13 刪除事件
Chapter 19 跨網站腳本攻擊(XSS)
19-1 關於跨網站腳本 (XSS)
19-2 如何防範 XSS9-4
19-2-1 程式碼中的編碼器
Chapter 20 跨網站偽造要求(XSRF/CSRF)攻擊
20-1 CSRF 簡介
20-2 ASP.NET Core Antiforgery 設定
20-3 傳統網站應用程式(MVC、RazorPage 等)
20-4 JavaScript、AJAX 和 Spa
Chapter 21 Cookie 與Session
21-1 關於Cookie 與Session
21-2 ASP.NET Core 中使用Cookie
21-2-1 在 Action 中設定 Cookie
21-2-2 在 Middleware 中設定 Cookie
21-3 ASP.NET Core 中使用 Session
Chapter 22 驗證與授權
22-1 關於驗證與授權
22-2 ASP.NET Core 中的驗證
22-3 驗證後的處理方式
22-4 在ASP.NET Core 中的授權
Chapter 23 Cache
23-1 快取基本概念
23-2 在ASP.NET Core 使用本機快取
23-3 分散式快取
23-4 Redis 快取
Chapter 24 Response 快取
24-1 在ASP.NET Core 中使用Response 快取
24-1-1 在 Middleware 中使用 Response 快取
24-1-2 在Action 中使用Response 快取
24-2 Respose 快取的選項
Chapter 25 SignalR
25-1 關於SignalR
25-2 設定並使用SignalR
Chapter 26 單元測試
26-1 關於單元測試
26-2 使用NUnit 進行單元測試
Chapter 27 組態設定
27-1 關於組態設定
27-2 建立並使用組態設定
Chapter 28 部署網站
28-1 發行到資料夾
28-1-1 在 Linux 上裝載 ASP.NET Core
28-2 使用 Docker 進行網站部署
Chapter 29 持續整合(Continuous Integration)
29-1 關於持續整合
29-2 使用 GitHub Action 進行 CI