ASP.NET Core擴展庫的相關(guān)功能介紹
親愛的.Neter們,在我們?nèi)諒鸵蝗盏木幋a過程中是不是會遇到一些讓人煩惱的事情:
- 日志配置太過復雜,各種模板、參數(shù)也搞不清楚,每次都要去查看日志庫的文檔,還需要復制粘貼一些重復代碼,好無賴
- 當需要類型轉(zhuǎn)換時,使用AutoMapper時感覺配置又復雜,自己寫人肉轉(zhuǎn)換代碼又冗長,又枯燥,好無聊
- 當調(diào)用其他服務(wù)時,總是不放心,于是在調(diào)用前、調(diào)用后總是不斷重復地記錄請求和應答日志?
- 當其他服務(wù)需要令牌時,我們不得不管理令牌的生命周期,而且不同第三方服務(wù)令牌的認證、維護過程還不一樣,有時調(diào)用每一個接口時都要手動傳入token,好麻煩
- 作為應用開發(fā)的你,你編寫的服務(wù)和很多其他服務(wù)交互,經(jīng)常因為其他服務(wù)的問題影響你的開發(fā)進度,同時你的服務(wù)由于依賴于其他服務(wù),導致調(diào)試測試困難
- 在微服務(wù)模式下,需要請求鏈路跟蹤,于是,你又在調(diào)用其他服務(wù)時,不斷第重復傳遞鏈路跟蹤的請求頭
- 作為APIer的你,為了快速查找問題,不得不記錄每一個接口的請求和應答內(nèi)容,于是,你就在控制器里面增加了一堆的日志,你知道這不科學,但時間緊,任務(wù)重,就先這樣吧
- ......
也許,以上這些問題,都有相應的庫或者示例代碼來解決,但這實在是太零散了,我們沒有精力或不想去做這些,所以結(jié)果是常常我們采用了最“笨”的辦法。
現(xiàn)在,解決這些問題的綜合庫來了,它就是Xfrogcn.AspNetCore.Extensions擴展庫,它深度融合ASP.NET Core的設(shè)計模式,使用方式與ASP.NET Core完全一致。
簡介
ASP.NET Core擴展庫是針對.NET Core常用功能的擴展,包含日志、Token提供器、并行隊列處理、HttpClient擴展、輕量級的DTO類型映射等功能。
源碼地址:[GitHub] [Gitee]
包地址:[NuGet]
日志擴展
擴展庫中,我們對Serilog日志庫進行了簡單的封裝使其更加容易配置,同時也增強了本地文件日志Sink,使其支持更復雜的日志目錄結(jié)構(gòu)。另外,定時日志清理功能可讓你無需關(guān)心本地日志管理問題。
輕量級實體映射
在分層設(shè)計模式中,各層之間的數(shù)據(jù)通常通過數(shù)據(jù)傳輸對象(DTO)來進行數(shù)據(jù)的傳遞,而大多數(shù)情況下,各層數(shù)據(jù)的定義結(jié)構(gòu)大同小異,如何在這些定義結(jié)構(gòu)中相互轉(zhuǎn)換,之前我們通過使用AutoMapper庫,但AutoMapper功能龐大,在很多場景下,可能我們只需要一些基礎(chǔ)功能,那么此時你可以選擇擴展庫中的輕量級AutoMapper實現(xiàn)。
AspNetCore Http服務(wù)端的擴展
針對AspNetCore Http服務(wù)端,擴展庫提供了以下功能:
- 請求與應答詳細日志記錄
- EnableBufferingAttribute特性,開啟請求的Buffer(可重復讀?。?br />
HttpClient擴展
.NET Core擴展庫中通過HttpFactory及HttpClient來執(zhí)行HTTP請求調(diào)用,HttpClient擴展在此基礎(chǔ)上進行了更多功能的擴展,增加易用性、可測試性。
HttpClient包含以下功能:
- 針對HttpClient的相關(guān)擴展方法
- 針對HttpRequestMessage及HttpResponseMessage的擴展方法
- 請求日志記錄
- 請求頭的自動傳遞(請求鏈路跟蹤)
- Http請求模擬(用于測試或模擬第三方服務(wù))
- Http受限請求中,可自動獲取及管理訪問令牌
令牌提供器
令牌提供器用于應用的相關(guān)訪問令牌的生命周期管理,包含令牌的自動獲取、緩存、失效判斷、自動重試等,主要由HttpClient擴展使用。當然你也可以單獨使用。
并行隊列處理
并行隊列處理可以將一個大的隊列,拆分到多個子隊列進行并行處理,以提高處理效率。同時,在每個子隊列處理中實現(xiàn)了處理管道,可靈活擴展。

以上介紹即為擴展庫所支持的功能,后面會有相關(guān)的系列文章進行詳細介紹。
以上就是ASP.NET Core擴展庫的相關(guān)功能介紹的詳細內(nèi)容,更多關(guān)于ASP.NET Core擴展庫的資料請關(guān)注腳本之家其它相關(guān)文章!
- ASP.NET Core Api網(wǎng)關(guān)Ocelot的使用初探
- ASP.NET Core擴展庫之日志功能的使用詳解
- 在ASP.NET Core中用HttpClient發(fā)送POST, PUT和DELETE請求
- ASP.NET Core WebApi版本控制的實現(xiàn)
- ASP.NET Core對不同類型的用戶進行區(qū)別限流詳解
- 詳解如何在ASP.NET Core中編寫高效的控制器
- 詳解如何在ASP.NET Core中使用IHttpClientFactory
- ASP.NET Core 使用Cookie驗證身份的示例代碼
- 如何在ASP.Net Core使用分布式緩存的實現(xiàn)
- ASP.NET Core快速入門之實戰(zhàn)篇
相關(guān)文章
asp.net 安全的截取指定長度的html或者ubb字符串
在將html代碼輸出到頁面時,有時候會需要截斷字符串保留指定長度的字符串,由于html中有些標簽必須成對出現(xiàn),所以在截取html時需要特別注意,不能因為截斷問題把頁面搞亂掉。2010-01-01
ASP.NET/C#中如何調(diào)用動態(tài)鏈接庫DLL
這篇文章主要為大家詳細介紹了ASP.NET/C#中如何調(diào)用動態(tài)鏈接庫DLL,感興趣的小伙伴們可以參考一下2016-03-03
ASP.NET實現(xiàn)數(shù)據(jù)的添加(第10節(jié))
這篇文章主要介紹了ASP.NET如何實現(xiàn)數(shù)據(jù)的添加,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2015-08-08
.NET Framework中定時器timer的單線程與多線程使用講解
這篇文章主要介紹了.NET Framework中定時器timer的單線程與多線程使用講解,單線程定時器在性能方面不如多線程,但是可以做到線程安全,需要的朋友可以參考下2016-04-04
Entity Framework加載控制Loading Entities
本文詳細講解了Entity Framework加載控制Loading Entities的用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03

