ASP.NET Core擴(kuò)展庫的相關(guān)功能介紹
親愛的.Neter們,在我們?nèi)諒?fù)一日的編碼過程中是不是會(huì)遇到一些讓人煩惱的事情:
- 日志配置太過復(fù)雜,各種模板、參數(shù)也搞不清楚,每次都要去查看日志庫的文檔,還需要復(fù)制粘貼一些重復(fù)代碼,好無賴
- 當(dāng)需要類型轉(zhuǎn)換時(shí),使用AutoMapper時(shí)感覺配置又復(fù)雜,自己寫人肉轉(zhuǎn)換代碼又冗長,又枯燥,好無聊
- 當(dāng)調(diào)用其他服務(wù)時(shí),總是不放心,于是在調(diào)用前、調(diào)用后總是不斷重復(fù)地記錄請(qǐng)求和應(yīng)答日志?
- 當(dāng)其他服務(wù)需要令牌時(shí),我們不得不管理令牌的生命周期,而且不同第三方服務(wù)令牌的認(rèn)證、維護(hù)過程還不一樣,有時(shí)調(diào)用每一個(gè)接口時(shí)都要手動(dòng)傳入token,好麻煩
- 作為應(yīng)用開發(fā)的你,你編寫的服務(wù)和很多其他服務(wù)交互,經(jīng)常因?yàn)槠渌?wù)的問題影響你的開發(fā)進(jìn)度,同時(shí)你的服務(wù)由于依賴于其他服務(wù),導(dǎo)致調(diào)試測(cè)試?yán)щy
- 在微服務(wù)模式下,需要請(qǐng)求鏈路跟蹤,于是,你又在調(diào)用其他服務(wù)時(shí),不斷第重復(fù)傳遞鏈路跟蹤的請(qǐng)求頭
- 作為APIer的你,為了快速查找問題,不得不記錄每一個(gè)接口的請(qǐng)求和應(yīng)答內(nèi)容,于是,你就在控制器里面增加了一堆的日志,你知道這不科學(xué),但時(shí)間緊,任務(wù)重,就先這樣吧
- ......
也許,以上這些問題,都有相應(yīng)的庫或者示例代碼來解決,但這實(shí)在是太零散了,我們沒有精力或不想去做這些,所以結(jié)果是常常我們采用了最“笨”的辦法。
現(xiàn)在,解決這些問題的綜合庫來了,它就是Xfrogcn.AspNetCore.Extensions擴(kuò)展庫,它深度融合ASP.NET Core的設(shè)計(jì)模式,使用方式與ASP.NET Core完全一致。
簡介
ASP.NET Core擴(kuò)展庫是針對(duì).NET Core常用功能的擴(kuò)展,包含日志、Token提供器、并行隊(duì)列處理、HttpClient擴(kuò)展、輕量級(jí)的DTO類型映射等功能。
源碼地址:[GitHub] [Gitee]
包地址:[NuGet]
日志擴(kuò)展
擴(kuò)展庫中,我們對(duì)Serilog日志庫進(jìn)行了簡單的封裝使其更加容易配置,同時(shí)也增強(qiáng)了本地文件日志Sink,使其支持更復(fù)雜的日志目錄結(jié)構(gòu)。另外,定時(shí)日志清理功能可讓你無需關(guān)心本地日志管理問題。
輕量級(jí)實(shí)體映射
在分層設(shè)計(jì)模式中,各層之間的數(shù)據(jù)通常通過數(shù)據(jù)傳輸對(duì)象(DTO)來進(jìn)行數(shù)據(jù)的傳遞,而大多數(shù)情況下,各層數(shù)據(jù)的定義結(jié)構(gòu)大同小異,如何在這些定義結(jié)構(gòu)中相互轉(zhuǎn)換,之前我們通過使用AutoMapper庫,但AutoMapper功能龐大,在很多場景下,可能我們只需要一些基礎(chǔ)功能,那么此時(shí)你可以選擇擴(kuò)展庫中的輕量級(jí)AutoMapper實(shí)現(xiàn)。
AspNetCore Http服務(wù)端的擴(kuò)展
針對(duì)AspNetCore Http服務(wù)端,擴(kuò)展庫提供了以下功能:
- 請(qǐng)求與應(yīng)答詳細(xì)日志記錄
- EnableBufferingAttribute特性,開啟請(qǐng)求的Buffer(可重復(fù)讀?。?br />
HttpClient擴(kuò)展
.NET Core擴(kuò)展庫中通過HttpFactory及HttpClient來執(zhí)行HTTP請(qǐng)求調(diào)用,HttpClient擴(kuò)展在此基礎(chǔ)上進(jìn)行了更多功能的擴(kuò)展,增加易用性、可測(cè)試性。
HttpClient包含以下功能:
- 針對(duì)HttpClient的相關(guān)擴(kuò)展方法
- 針對(duì)HttpRequestMessage及HttpResponseMessage的擴(kuò)展方法
- 請(qǐng)求日志記錄
- 請(qǐng)求頭的自動(dòng)傳遞(請(qǐng)求鏈路跟蹤)
- Http請(qǐng)求模擬(用于測(cè)試或模擬第三方服務(wù))
- Http受限請(qǐng)求中,可自動(dòng)獲取及管理訪問令牌
令牌提供器
令牌提供器用于應(yīng)用的相關(guān)訪問令牌的生命周期管理,包含令牌的自動(dòng)獲取、緩存、失效判斷、自動(dòng)重試等,主要由HttpClient擴(kuò)展使用。當(dāng)然你也可以單獨(dú)使用。
并行隊(duì)列處理
并行隊(duì)列處理可以將一個(gè)大的隊(duì)列,拆分到多個(gè)子隊(duì)列進(jìn)行并行處理,以提高處理效率。同時(shí),在每個(gè)子隊(duì)列處理中實(shí)現(xiàn)了處理管道,可靈活擴(kuò)展。
以上介紹即為擴(kuò)展庫所支持的功能,后面會(huì)有相關(guān)的系列文章進(jìn)行詳細(xì)介紹。
以上就是ASP.NET Core擴(kuò)展庫的相關(guān)功能介紹的詳細(xì)內(nèi)容,更多關(guān)于ASP.NET Core擴(kuò)展庫的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- ASP.NET Core Api網(wǎng)關(guān)Ocelot的使用初探
- ASP.NET Core擴(kuò)展庫之日志功能的使用詳解
- 在ASP.NET Core中用HttpClient發(fā)送POST, PUT和DELETE請(qǐng)求
- ASP.NET Core WebApi版本控制的實(shí)現(xiàn)
- ASP.NET Core對(duì)不同類型的用戶進(jìn)行區(qū)別限流詳解
- 詳解如何在ASP.NET Core中編寫高效的控制器
- 詳解如何在ASP.NET Core中使用IHttpClientFactory
- ASP.NET Core 使用Cookie驗(yàn)證身份的示例代碼
- 如何在ASP.Net Core使用分布式緩存的實(shí)現(xiàn)
- ASP.NET Core快速入門之實(shí)戰(zhàn)篇
相關(guān)文章
c# .Net Core靜態(tài)文件服務(wù)器的新人入門教程
這篇文章主要給大家介紹了關(guān)于c# .Net Core靜態(tài)文件服務(wù)器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07ASP.NET中實(shí)時(shí)圖表的實(shí)現(xiàn)方法分享
這篇文章介紹了ASP.NET中實(shí)時(shí)圖表的實(shí)現(xiàn)方法,有需要的朋友可以參考一下2013-11-11asp.net DataTable相關(guān)操作集錦(篩選,取前N條數(shù)據(jù),去重復(fù)行,獲取指定列數(shù)據(jù)等)
這篇文章主要介紹了asp.net DataTable相關(guān)操作,包括篩選,取前N條數(shù)據(jù),去重復(fù)行,獲取指定列數(shù)據(jù)等.基本涵蓋了DataTable的常見操作技巧,需要的朋友可以參考下2016-06-06.net頁面訪問次數(shù)統(tǒng)計(jì)實(shí)現(xiàn)原理與代碼
網(wǎng)站訪問量統(tǒng)計(jì)、頁面訪問次數(shù)統(tǒng)計(jì),比較實(shí)用的一個(gè)功能,很多新手朋友都想實(shí)現(xiàn),本文處于此目的整理了一些,感興趣的朋友可以了解下2013-01-01ASP.NET Core AutoWrapper 自定義響應(yīng)輸出實(shí)現(xiàn)
這篇文章主要介紹了ASP.NET Core AutoWrapper 自定義響應(yīng)輸出實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08ASP.NET Global.asax應(yīng)用程序文件簡介
Global.asax 文件,有時(shí)候叫做 ASP.NET 應(yīng)用程序文件,提供了一種在一個(gè)中心位置響應(yīng)應(yīng)用程序級(jí)或模塊級(jí)事件的方法。2009-03-03asp.net Datalist控件實(shí)現(xiàn)分頁功能
asp.net Datalist控件實(shí)現(xiàn)分頁功能代碼。大家可以參考下。2009-07-07ASP.NET在IIS上注冊(cè)報(bào)0x800702e4錯(cuò)誤解決方法
報(bào)一個(gè)0x800702e4 請(qǐng)求的操作需要提升的錯(cuò)誤。解決的方法和前面大同小異,給這個(gè)aspnet_regiis.exe創(chuàng)建一個(gè)快捷方式,給它的目標(biāo)后面加上 一個(gè)-i,再右擊這個(gè)快捷方式,以管理員身份運(yùn)行,就行了2012-08-08