ASP.NET Core 6框架揭秘的258個實例


作為《ASP.NET Core 3框架揭秘》的升級版,《ASP.NET Core 6框架揭秘》提供了很多新的章節,同時對現有的內容進行大量的修改。雖然本書旨在對ASP.NET Core框架的架構設計和實現原理進行剖析,但是其中提供的258個實例演示卻可以作為入門材料,這個系列會將這些演示實例單獨提取出來並進行匯總。對於想學習ASP.NET Core的同學,如果你覺得本書過於深入,讀起來稍顯吃力,可以看看。

第01章 編程體驗

[101]利用命令行創建.NET程序源代碼
[102]采用Minimal API構建ASP.NET Core程序源代碼
[103]一步創建WebApplication對象源代碼
[104]使用原始形態的中間件源代碼
[105]使用中間件委托變體(1)(源代碼
[106]使用中間件委托變體(2)(源代碼
[107]定義強類型中間件類型源代碼
[108]定義基於約定的中間件類型(構造函數注入)(源代碼
[109]定義基於約定的中間件類型(方法注入)(源代碼
[110]配置的應用源代碼
[111]Options的應用源代碼
[112]日志的應用源代碼
[113]路由的應用源代碼
[114]開發MVC API源代碼
[115]開發MVC APP源代碼
[116]開發gRPC API源代碼
[117]Dapr-服務調用源代碼
[118]Dapr-狀態管理源代碼
[119]Dapr-發布訂閱(源代碼
[120]Dapr-Actor模型源代碼

第02章 依賴注入(上篇)

[201]模擬容器Cat-普通服務的注冊和提取源代碼
[202]模擬容器Cat-針對泛型服務類型的支持源代碼
[203]模擬容器Cat-為同一類型提供多個服務注冊源代碼
[204]模擬容器Cat-服務實例的生命周期源代碼

第03章 依賴注入(下篇)

[301]普通服務的注冊和提取源代碼
[302]針對泛型服務類型的支持源代碼
[303]為同一類型提供多個服務注冊源代碼
[304]服務實例的生命周期源代碼
[305]服務實例的釋放回收源代碼
[306]服務范圍的驗證源代碼
[307]服務注冊有效性的驗證源代碼
[308]構造函數的選擇(成功)(源代碼
[309]構造函數的選擇(失敗)(源代碼
[310]IDisposable和IAsyncDisposable接口的差異(錯誤編程)(源代碼
[311]IDisposable和IAsyncDisposable接口的差異(正確編程)(源代碼
[312]利用ActivatorUtilities提供服務實例源代碼
[313]ActivatorUtilities針對構造函數的“評分”(源代碼
[314]ActivatorUtilities針對構造函數的選擇源代碼
[315]ActivatorUtilitiesConstructorAttribute特性的應用源代碼
[316]與第三方依賴注入框架Cat的整合源代碼

第04章 文件系統

[S401] 輸出文件系統目錄結構源代碼
[S402]讀取物理文件內容源代碼
[S403]讀取內嵌文件內容源代碼
[S404]監控文件的變更源代碼

第05章 配置選項(上篇)

[501]以鍵值對形式讀取配置源代碼
[502]讀取結構化配置源代碼
[503]將結構化配置綁定為對象源代碼
[504]將配置定義在JSON文件中源代碼
[505]根據環境動態加載配置文件源代碼
[506]配置內容的實時同步源代碼
[507]綁定配置項的值源代碼
[508]類型轉換器在配置綁定中的應用源代碼
[509]復合對象的配置綁定源代碼
[510]集合的配置綁定源代碼
[511]集合和數組的配置綁定的差異源代碼
[512]字典的配置綁定源代碼

第06章 配置選項(下篇)

[601]將配置綁定為Options對象源代碼
[602]具名Options的注冊和提取源代碼
[603]Options與配置源的實時同步(匿名Options)(源代碼
[604]Options與配置源的實時同步(具名Options)源代碼
[605]用代碼方式初始化Options(匿名Options)源代碼
[606]用代碼方式初始化Options(具名Options)源代碼
[607]針對依賴服務的Options設置源代碼
[608]驗證Options的有效性源代碼

第07章 診斷日志(上篇)

[S701]TraceSource跟蹤日志源代碼
[S702]基於等級的日志過濾源代碼
[S703]自定義面向控制台的TraceListener源代碼
[S704]EventSource事件日志源代碼
[S705]自定義EventListener監聽事件源代碼
[S706]DiagnosticListener診斷日志源代碼
[S707]為DiagnosticListener注冊強類型訂閱者源代碼
[S708]DefaultTraceListener針對文件的日志輸出源代碼
[S709]利用DelimitedListTraceListener將日志輸出到CSV文件源代碼
[S710]更加完整的EventListener類型定義源代碼
[S711]利用EventSource的事件日志輸出調用鏈源代碼
[S712]AnonymousObserver<T>的應用源代碼
[S713]強類型診斷事件訂閱源代碼

第08章 診斷日志(中篇)

[S801]將日志輸出到控制台和調試窗口源代碼
[S802]利用ILoggerFactory工廠創建Ilogger<T>對象源代碼
[S803]注入Ilogger<T>對象源代碼
[S804]TraceSource和EventSource的日志輸出源代碼
[S805]針對等級的日志過濾源代碼
[S806]針對等級和類別的日志過濾源代碼
[S807]針對等級、類別和ILoggerProvider類型的日志過濾源代碼
[S808]利用配置定義日志過濾規則源代碼
[S809]利用日志范圍輸出調用鏈源代碼
[S810]LoggerMessage的應用源代碼
[S812]基於Activity的日志范圍源代碼

第09章 診斷日志(下篇)

[S901]SimpleConsoleFormatter格式化器源代碼
[S902]SystemdConsoleFormatter格式化器源代碼
[S903]JsonConsoleFormatter格式化器源代碼
[S904]改變ConsoleLogger的標准輸出和錯誤輸出源代碼
[S905]自定義控制台日志的格式化器源代碼

第10章 對象池

[S1001]對象池基本使用方式    
[S1002]利用注入的ObjectPoolProvider提供對象池
[S1003]自定義對象池化策略
[S1004]對象池的容量與並發的關系(容量不小於並發量)
[S1005]對象池的容量與並發的關系(容量小於並發量)
[S1006]池化對象的釋放
[S1007]池化集合對象
[S1008]池化StringBuilder
[S1009]ArrayPool<T>的應用
[S1010]MemoryPool<T>的應用

第11章 緩存

[S1101]基於內存的本地緩存源代碼
[S1102]基於Redis的分布式緩存源代碼
[S1103]基於SQL Server的分布式緩存源代碼

第12章 HTTP調用

[S1201]頻繁創建HttpClient對象調用API源代碼
[S1202]以單例方式使用HttpClient源代碼
[S1203]利用IHttpClientFactory工廠創建HttpClient對象源代碼
[S1204]直接注入HttpClient對象源代碼
[S1205]定制HttpClient對象源代碼
[S1206]強類型客戶端源代碼
[S1207]基於Polly的失敗重試源代碼
[S1208]HttpClient的默認管道結構源代碼
[S1209]定制HttpClient管道源代碼
[S1210]針對HTTP調用的日志輸出(>=Information)(源代碼
[S1211]針對HTTP調用的日志輸出(>=Trace)(源代碼

第13章 數據保護

[S1301]數據的加解密源代碼
[S1302]Purpose字符串一致性源代碼
[S1303]設置加密內容的有效期源代碼
[S1304]撤銷加密密鑰(單個密鑰)(源代碼
[S1305]撤銷加密密鑰(所有密鑰)(源代碼
[S1306]瞬時加解密源代碼
[S1307]密鑰哈希源代碼
[S1308]基於本地文件系統的密鑰管理(密鑰創建)源代碼
[S1309]基於本地文件系統的密鑰管理(密鑰撤銷)源代碼

第14章 服務承載

[S1401]利用承載服務收集性能指標源代碼
[S1402]依賴注入的應用源代碼
[S1403]配置選項的應用源代碼
[S1404]提供針對環境的配置源代碼
[S1405]日志的應用源代碼
[S1406]在配置中定義日志過濾規則源代碼
[S1407]利用IHostApplicationLifetime對象關閉應用源代碼
[S1408]與第三方依賴注入框架的整合(源代碼
[S1409]利用配置初始化承載環境源代碼

第15章 應用承載(上篇)

[S1501]基於IWebHost/IWebHostBuilder的應用承載方式源代碼
[S1502]將初始化設置定義在Startup類型中源代碼
[S1503]基於IHost/IHostBuilder的應用承載方式源代碼
[S1504]Minimal API源代碼

第16章 應用承載(中篇)

[S1601]一個“迷你版”的ASP.NET Core框架源代碼

第17章 應用承載(下篇)

[S1701]ASP.NET針對請求的診斷日志源代碼
[S1702]收集DiagnosticSource輸出的日志源代碼
[S1703]收集EventSource輸出的日志源代碼
[S1704]模擬Minimal API的實現源代碼

第18章 服務器

[S1801]自定義服務器源代碼
[S1802]兩種終結點的選擇源代碼
[S1803]直接創建連接接收請求和回復響應源代碼
[S1804]模擬KestrelServer的實現源代碼
[S1805]使用IIS部署ASP.NET Core應用(In-Process模式)源代碼
[S1806]使用IIS部署ASP.NET Core應用(Out-Of-Process模式)源代碼

第19章 靜態文件

[1901]以Web形式發布文件(圖片)
[1902]以Web形式發布文件(PDF)
[1903]顯式文件目錄結構
[1904]顯示目錄的默認頁面
[1905]定制目錄的默認頁面
[1906]設置默認的媒體類型
[1907]映射文件擴展名的媒體類型

第20章 路由

[S2001]注冊路由終結點
[S2002]以內聯方式設置路由參數的約束
[S2003]定義可缺省的路由參數
[S2004]為路由參數指定默認值
[S2005]一個路徑分段定義多個路由參數
[S2006]一個路由參數跨越多個路徑分段
[S2007]主機名綁定
[S2008]將終結點處理定義為任意類型的委托
[S2009]IResult 的應用

第21章 異常處理

[2101]開發者異常頁面的呈現
[2102]定制異常頁面的呈現
[2103]利用注冊的中間件處理異常
[2104]針對異常頁面的重定向
[2105]基於響應狀態碼錯誤頁面的呈現(設置響應內容模板)
[2106]基於響應狀態碼錯誤頁面的呈現(提供異常處理器)
[2107]基於響應狀態碼錯誤頁面的呈現(利用中間件創建異常處理器)
[S2108]利用IDeveloperPageExceptionFilter定制開發者異常頁面
[S2109]針對編譯異常的處理(默認)
[S2110]針對編譯異常的處理(定義源代碼輸出行數)
[S2111]利用IExceptionHandlerFeature特性提供錯誤信息
[S2112]清除緩存響應報頭
[S2113]針對404響應的處理
[S2114]利用I[Statu[SCodePage[SFeature特性忽略異常處理

第22章 響應緩存

[S2201]基於路徑的響應緩存
[S2202]基於指定的查詢字符串緩存響應
[S2203]基於指定的請求報頭緩存響應
[S2204]緩存屏蔽

第23章 會話

[S2301]設置和提取會話狀態
[S2302]查看存儲的會話狀態
[S2303] 查看Cookie

第24章 HTTPS策略

[S2401]構建HTTPS站點
[S2402]HTTPS終結點重定向
[S2403]注冊HstsMiddleware中間件
[S2404]設置HSTS配置選項

第25章 重定向

[S2501]客戶端重定向
[S2502]服務端重定向
[S2503]采用IIS重寫規則實現重定向
[S2504]采用Apache重寫規則實現重定向
[S2505]基於HTTPS終結點的重定向

第26章 限流

[S2601]設置並發和等待請求閾值
[S2602]基於隊列的限流策略
[S2603]基於棧的限流策略
[S2604]處理被拒絕的請求

第27章 認證

[S2701]使用最簡潔的代碼實現登錄、認證和注銷

第28章 授權

[S2801]基於“要求”的授權
[S2802]基於“策略”的授權
[S2803]將“角色”綁定到路由終結點
[S2804]將“授權策略”綁定到路由終結點

第29章 跨域資源共享

[S2901]跨域調用API
[S2902]顯式指定授權Origin列表
[S2903]手工檢驗指定Origin是否的權限
[S2904]基於策略的資源授權(匿名策略)
[S2905]基於策略的資源授權(具名策略)
[S2906]將CORS規則應用到路由終結點上(代碼編程形式)
[S2907]將CORS規則應用到路由終結點上(特性標注形式)

第30章 健康檢查

[S3001]確定應用可用狀態
[S3002]定制健康檢查邏輯
[S3003]改變健康狀態對應的響應狀態碼
[S3004]提供細粒度的健康檢查
[S3005]定制健康報告響應內容
[S3006]IHealthCheck對象的過濾
[S3007]定期發布健康報告



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM