溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ASP.NET Core擴(kuò)展庫的功能是什么

發(fā)布時(shí)間:2021-03-12 17:11:13 來源:億速云 閱讀:210 作者:TREX 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“ASP.NET Core擴(kuò)展庫的功能是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

親愛的.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ù)地記錄請求和應(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)試測試?yán)щy

  • 在微服務(wù)模式下,需要請求鏈路跟蹤,于是,你又在調(diào)用其他服務(wù)時(shí),不斷第重復(fù)傳遞鏈路跟蹤的請求頭

  • 作為APIer的你,為了快速查找問題,不得不記錄每一個(gè)接口的請求和應(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ò)展庫是針對.NET Core常用功能的擴(kuò)展,包含日志、Token提供器、并行隊(duì)列處理、HttpClient擴(kuò)展、輕量級的DTO類型映射等功能。

源碼地址:[GitHub]  [Gitee]
包地址:[NuGet]

日志擴(kuò)展

擴(kuò)展庫中,我們對Serilog日志庫進(jìn)行了簡單的封裝使其更加容易配置,同時(shí)也增強(qiáng)了本地文件日志Sink,使其支持更復(fù)雜的日志目錄結(jié)構(gòu)。另外,定時(shí)日志清理功能可讓你無需關(guān)心本地日志管理問題。

輕量級實(shí)體映射

在分層設(shè)計(jì)模式中,各層之間的數(shù)據(jù)通常通過數(shù)據(jù)傳輸對象(DTO)來進(jìn)行數(shù)據(jù)的傳遞,而大多數(shù)情況下,各層數(shù)據(jù)的定義結(jié)構(gòu)大同小異,如何在這些定義結(jié)構(gòu)中相互轉(zhuǎn)換,之前我們通過使用AutoMapper庫,但AutoMapper功能龐大,在很多場景下,可能我們只需要一些基礎(chǔ)功能,那么此時(shí)你可以選擇擴(kuò)展庫中的輕量級AutoMapper實(shí)現(xiàn)。

AspNetCore Http服務(wù)端的擴(kuò)展

針對AspNetCore Http服務(wù)端,擴(kuò)展庫提供了以下功能:

  • 請求與應(yīng)答詳細(xì)日志記錄

  • EnableBufferingAttribute特性,開啟請求的Buffer(可重復(fù)讀?。?br/>

HttpClient擴(kuò)展

.NET Core擴(kuò)展庫中通過HttpFactory及HttpClient來執(zhí)行HTTP請求調(diào)用,HttpClient擴(kuò)展在此基礎(chǔ)上進(jìn)行了更多功能的擴(kuò)展,增加易用性、可測試性。

HttpClient包含以下功能:

  • 針對HttpClient的相關(guān)擴(kuò)展方法

  • 針對HttpRequestMessage及HttpResponseMessage的擴(kuò)展方法

  • 請求日志記錄

  • 請求頭的自動(dòng)傳遞(請求鏈路跟蹤)

  • Http請求模擬(用于測試或模擬第三方服務(wù))

  • Http受限請求中,可自動(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ò)展。

ASP.NET Core擴(kuò)展庫的功能是什么


“ASP.NET Core擴(kuò)展庫的功能是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI