深入淺出:.NET框架設計與實現

馮輝

買這商品的人也買了...

商品描述

本書主要介紹.NET框架的核心部分,不僅闡述了框架的核心設計,還展示了實踐代碼和運行效果,同時根據不同的功能模塊擴展出屬於自己的小組件。通過閱讀本書,讀者可以深入瞭解.NET框架的核心設計,掌握.NET性能調優和ASP.NET Core的部署方式。本書包含18章。第1~3章主要介紹.NET框架、開發環境和運行模式。第4~12章主要介紹依賴註入、配置與選項、後台任務、中間件、緩存、本地化、健康檢查、文件系統和日誌等常用功能模塊。第13~17章主要介紹線程、線程同步、內存管理、診斷和調試,以及編譯技術等內容。第18章主要介紹應用程序的部署方式,包括宿主機的部署,以及Docker和Kubernetes的部署。

目錄大綱

第1章 .NET概述和環境安裝 1
1.1 .NET框架簡介 1
1.2 .NET的開發環境 6
1.3 小結 20
第2章 .NET運行原理概述 21
2.1 .NET CLI概述 21
2.2 小結 36
第3章 ASP.NET Core應用程序的多種運行模式 37
3.1 自宿主 37
3.2 IIS服務承載 38
3.3 將WebAPI嵌入桌面應用程序中 39
3.4 服務承載 41
3.5 延伸閱讀:WindowsFormsLifetime 53
3.6 小結 59
第4章 依賴註入 60
4.1 .NET依賴註入 61
4.2 實現批量服務註冊 80
4.3 小結 84
第5章 配置與選項 85
5.1 配置模式 85
5.2 選項模式 101
5.3 設計一個簡單的配置中心 121
5.4 小結 130
第6章 使用IHostedService和BackgroundService實現後台任務 131
6.1 IHostedService 131
6.2 BackgroundService 134
6.3 任務調度 137
6.4 小結 142
第7章 中間件 143
7.1 中間件的作用 143
7.2 中間件的調用過程 144
7.3 編寫自定義中間件 147
7.4 在過濾器中應用中間件 151
7.5 製作簡單的API統一響應格式與自動包裝 156
7.6 延伸閱讀:責任鏈模式 159
7.7 延伸閱讀:中間件常見的擴展方法 162
7.8 小結 174
第8章 緩存 175
8.1 內存緩存 175
8.2 分佈式緩存 180
8.3 HTTP緩存 188
8.4 小結 193
第9章 本地化 194
9.1 內容本地化 194
9.2 多樣化的數據源 203
9.3 小結 210
第10章 健康檢查 211
10.1 檢查當前應用的健康狀態 211
10.2 發布健康報告 233
10.3 可視化健康檢查界面 238
10.4 小結 240
第11章 文件系統 241
11.1 ASP.NET Core靜態文件 241
11.2 自定義一個簡單的文件系統 247
11.3 小結 253
第12章 日誌 254
12.1 控制台日誌 254
12.2 調試日誌 281
12.3 事件日誌 285
12.4 EventSource日誌 292
12.5 TraceSource日誌 298
12.6 DiagnosticSource日誌 303
12.7 小結 309
第13章 多線程與任務並行 310
13.1 線程簡介 310
13.2 基於任務的異步編程 316
13.3 線程並行 328
13.4 小結 329
第14章 線程同步機制和鎖 330
14.1 原子操作 330
14.2 自旋鎖 333
14.3 混合鎖 337
14.4 互斥鎖 340
14.5 信號量 341
14.6 讀寫鎖 346
14.7 小結 348
第15章 內存管理 349
15.1 內存分配 349
15.2 垃圾回收器 357
15.3 資源釋放 362
15.4 垃圾回收器的設置 368
15.5 小結 374
第16章 診斷和調試 375
16.1 性能診斷工具 375
16.2 Linux調試 421
16.3 小結 433
第17章 編譯技術精講 434
17.1 IL解析 434
17.2 JIT簡介 439
17.3 JIT編譯 441
17.4 AOT編譯 450
17.5 小結 454
第18章 部署 455
18.1 發布與部署 455
18.2 Docker 464
18.3 編寫Dockerfile文件 473
18.4 構建.NET應用鏡像 476
18.5 Docker Compose 481
18.6 Docker Swarm 484
18.7 Kubernetes 489
18.8 小結 500