相信大家也看過(guò)其他博主推薦的.NET開(kāi)源庫(kù),大家推薦的都各有千秋,那今天博主就推薦一下我自用的一些.NET開(kāi)源庫(kù)吧,數(shù)量不多,雖然有些點(diǎn)贊數(shù)并不高,但個(gè)人覺(jué)得都是好到爆的" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

所在位置: 首頁(yè) > 營(yíng)銷(xiāo)資訊 > 網(wǎng)站運(yùn)營(yíng) > 一些小眾冷門(mén)但卻非常實(shí)用的.NET(Core)開(kāi)源庫(kù)推薦

一些小眾冷門(mén)但卻非常實(shí)用的.NET(Core)開(kāi)源庫(kù)推薦

時(shí)間:2023-05-24 07:33:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2023-05-24 07:33:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)

一些小眾冷門(mén)但卻非常實(shí)用的.NET(Core)開(kāi)源庫(kù)推薦:

相信大家也看過(guò)其他博主推薦的.NET開(kāi)源庫(kù),大家推薦的都各有千秋,那今天博主就推薦一下我自用的一些.NET開(kāi)源庫(kù)吧,數(shù)量不多,雖然有些點(diǎn)贊數(shù)并不高,但個(gè)人覺(jué)得都是好到爆的一些工具庫(kù)。本文旨在收錄一些小眾冷門(mén)的開(kāi)源庫(kù),像AutoMapper、Autofac、epplus、Hangfire之類(lèi)的大眾都知曉的庫(kù),這里就不收錄了。

1.Masuit.Tools

首先當(dāng)然是自家的開(kāi)源庫(kù)了,該庫(kù)集成了大量的各種操作幫助函數(shù),算是我從入坑編程多年來(lái)的代碼積累吧,在后續(xù)的任何開(kāi)發(fā)當(dāng)中使用上它,避免重復(fù)地去造一些輪子,把重心轉(zhuǎn)移到項(xiàng)目的推進(jìn),幾乎可以做任何的事情,反正現(xiàn)在項(xiàng)目中沒(méi)了它,我寫(xiě)邏輯代碼還真有點(diǎn)困難,由于C#語(yǔ)言有個(gè)其他語(yǔ)言不可替代的特性:擴(kuò)展方法,所以項(xiàng)目的實(shí)現(xiàn)90%以上都是通過(guò)擴(kuò)展方法實(shí)現(xiàn)的,方便直接調(diào)用。

該庫(kù)目前全網(wǎng)累計(jì)已經(jīng)超越1900+star。

功能主要覆蓋:

數(shù)據(jù)庫(kù)操作:內(nèi)存表操作、關(guān)系實(shí)體映射等;

日期時(shí)間常用操作:農(nóng)歷操作、時(shí)間戳操作,時(shí)分秒轉(zhuǎn)換等;

文件操作:大文件操作、文件壓縮與解壓、ini配置文件操作;

硬件操作:獲取電腦各個(gè)硬件的性能指標(biāo);

Html操作:利用C#對(duì)html字符串進(jìn)行“dom”操作,html的XSS凈化、html標(biāo)簽操作;

日志組件:高并發(fā)可用的高性能日志記錄;

多媒體文件操作:圖片的各種處理;

網(wǎng)絡(luò)操作:獲取線(xiàn)程內(nèi)唯一對(duì)象、Session和Cookie的擴(kuò)展、獲取IP地址詳細(xì)信息、緩存操作;

Nosql:僅封裝了Redis的常用操作,mongodb的操作類(lèi)客戶(hù)端獨(dú)立分開(kāi)了;

反射操作:各種對(duì)對(duì)象的字段屬性和方法的快捷方式;

加密安全:對(duì)字符串進(jìn)行的擴(kuò)展,包含AES、DES、MD5、hash、SHA1、加鹽等;

字符串?dāng)U展:包含驗(yàn)證碼生成、各種與字符串相關(guān)的擴(kuò)展;

Win32API:包含于Windows系統(tǒng)接口相關(guān)的操作封裝;

全局?jǐn)U展:包含字符串?dāng)U展,類(lèi)型轉(zhuǎn)換,委托、循環(huán)操作、異步操作、正則等。

項(xiàng)目地址:

github:

github-org:

gitee:

2.Masuit.LuceneEFCore.SearchEngine

本站自家產(chǎn)的本地搜索引擎中間件,基于EntityFrameworkCore和http://Lucene.NET實(shí)現(xiàn)的全文檢索搜索引擎,可輕松實(shí)現(xiàn)高性能的全文檢索??梢暂p松應(yīng)用于任何基于EntityFrameworkCore的實(shí)體框架數(shù)據(jù)庫(kù)。支持帶權(quán)重的查詢(xún)結(jié)果,毫秒級(jí)響應(yīng)。

項(xiàng)目地址:

3.CacheManager

一個(gè)非常實(shí)用的緩存中間件,CacheManager是用C#編寫(xiě)的.NET的開(kāi)源緩存抽象層。 它支持各種緩存提供程序并實(shí)現(xiàn)許多高級(jí)功能。

CacheManager軟件包的主要目標(biāo)是使開(kāi)發(fā)人員的生活更輕松,甚至可以處理非常復(fù)雜的緩存方案。借助CacheManager,可以實(shí)現(xiàn)多層緩存,例如 只需幾行代碼,即可在分布式緩存之前進(jìn)行進(jìn)程內(nèi)緩存。

CacheManager不僅僅是統(tǒng)一各種緩存提供程序的編程模型的接口,這將使以后在項(xiàng)目中更改緩存策略變得非常容易。 它還提供了其他功能,例如緩存同步,并發(fā)更新,序列化,事件,性能計(jì)數(shù)器...開(kāi)發(fā)人員只有在需要時(shí)才可以選擇加入這些功能。

項(xiàng)目地址:

4.htmldiff.net-core

用于比較兩個(gè)HTML文件/片段的庫(kù),并使用簡(jiǎn)單的HTML突出顯示差異?;趓uby實(shí)現(xiàn)的HTMLDiff庫(kù)移植到.NET Core下的。

使用效果如下:比特彗星(BitComet) v1.71 隱藏功能解鎖版

項(xiàng)目地址:

5.IP2Region

一個(gè)高性能的本地IP地理信息查詢(xún)庫(kù),準(zhǔn)確率99.9%的離線(xiàn)IP地址定位庫(kù),0.0x毫秒級(jí)查詢(xún),ip2region.db數(shù)據(jù)庫(kù)只有數(shù)MB,提供了java,php,c,python,nodejs,golang,c#等查詢(xún)綁定和Binary,B樹(shù),內(nèi)存三種查詢(xún)算法。

項(xiàng)目地址:

6.MaxMind.GeoIP2

一個(gè)世界范圍級(jí)的本地IP地理信息查詢(xún)庫(kù),支持IPv4和IPv6,免費(fèi)版支持城市級(jí)別的地理信息查詢(xún)、經(jīng)緯度查詢(xún)以及時(shí)區(qū)等信息。用途和上者差不多。

項(xiàng)目地址:

7.Karambolo.AspNetCore.Bundling.NUglify

還記得在.NET Framework時(shí)代的在cshtml中的靜態(tài)資源壓縮綁定的操作么?只需要在cshtml中@Scripts.Render就能將配置好的靜態(tài)資源文件在生產(chǎn)環(huán)境中進(jìn)行自動(dòng)壓縮打包處理,可是到了.NET Core MVC中,這樣的操作已經(jīng)被微軟廢棄掉了,而微軟更推薦的做法是通過(guò)安裝Bundle Minifier擴(kuò)展插件或是nuget包進(jìn)行靜態(tài)資源捆綁的配置,會(huì)生成一個(gè)配置文件,不過(guò)我個(gè)人覺(jué)得這樣的做法確實(shí)不太方便,所以也一直在尋找一種可以在.NET CoreMVC中可以直接@Scripts.Render的方式,今天,終于找到這樣的組件,找回了.NET Framework時(shí)代的@Scripts.Render。

通過(guò)這個(gè)nuget包,我們便可以實(shí)現(xiàn)在.NET Core MVC使用@Scripts.Render這樣的方式去引用我們配置好的靜態(tài)資源捆綁,且使用方式和.NET Framework中基本一致。它能夠?qū)崿F(xiàn)對(duì)js、css、less、scss等靜態(tài)資源的自動(dòng)打包捆綁處理。

其實(shí)這也是一個(gè)前端性能優(yōu)化的點(diǎn),將多個(gè)文件合并成了一個(gè)文件,減少了瀏覽器的請(qǐng)求數(shù)而提升網(wǎng)站的訪(fǎng)問(wèn)速度。

項(xiàng)目地址:

8.OpenXmlPowerTools

Open XML PowerTools提供了使用Open XML文檔(DOCX,XLSX和PPTX)編程的接口。它基于并擴(kuò)展了Open XML SDK的功能。

它支持以下場(chǎng)景:

將DOCX / PPTX文件拆分為多個(gè)文件。

將多個(gè)DOCX / PPTX文件合并為一個(gè)文件。

使用XML中的數(shù)據(jù)填充DOCX模板中的內(nèi)容。

DOCX高保真轉(zhuǎn)換為HTML / CSS。

將HTML / CSS高保真轉(zhuǎn)換為DOCX。

使用正則表達(dá)式搜索和替換DOCX / PPTX中的內(nèi)容。

管理跟蹤修訂,包括檢測(cè)跟蹤修訂并接受跟蹤修訂。

在DOCX / PPTX文件中更新圖表,包括更新緩存的數(shù)據(jù)以及嵌入式XLSX。

比較兩個(gè)DOCX文件,生成帶有修訂跟蹤標(biāo)記的DOCX,并允許檢索修訂列表。

從DOCX文件中檢索指標(biāo),包括所用樣式的層次結(jié)構(gòu),所用語(yǔ)言和所用字體。

使用比直接編寫(xiě)標(biāo)記簡(jiǎn)單得多的代碼來(lái)編寫(xiě)XLSX文件,包括一種流方法,該方法可以編寫(xiě)具有數(shù)百萬(wàn)行的XLSX文件。

從電子表格中提取數(shù)據(jù)(以及格式化)。

項(xiàng)目地址:

9.Svg

沒(méi)錯(cuò),庫(kù)的名字就叫svg,顧名思義,它是一個(gè)svg圖形操作庫(kù),通過(guò)它便能輕松實(shí)現(xiàn)在.NET中生成和操作svg圖形文件以及字節(jié)流。

項(xiàng)目地址:

10.TimeZoneConverter

一個(gè)輕量級(jí)的Windows標(biāo)準(zhǔn)時(shí)區(qū)與IANA和Rails時(shí)區(qū)名稱(chēng)之間快速轉(zhuǎn)換的幫助庫(kù)。如:

string tz = TZConvert.WindowsToIana("Eastern Standard Time");// result: "America/New_York"項(xiàng)目地址:

11.RssSyndication

RSS訂閱接口的C#實(shí)現(xiàn)庫(kù),可輕松幫你實(shí)現(xiàn)RSS訂閱接口。

項(xiàng)目地址:

12.Z.EntityFramework.Plus.EFCore

EF的性能問(wèn)題一直以來(lái)經(jīng)常被人所吐槽,究其原因在于“復(fù)雜的操作在生成SQL階段耗時(shí)長(zhǎng),且執(zhí)行效率不高”,但并不是沒(méi)有辦法解決,而Z.EntityFramework.Plus.EFCore的存在就是為了解決各種EF性能問(wèn)題的一個(gè)三方庫(kù),由zzzproject組織出品,必然是精品的庫(kù)!通過(guò)必備功能擴(kuò)展了DbContext:包括過(guò)濾器,緩存,提前查詢(xún),批量操作等EF擴(kuò)展功能。

項(xiàng)目地址:

13.SharpCompress

用于.NET Standard 2.0、2.1和NET 4.6的純C#文件壓縮操作庫(kù),支持unrar, un7zip, unzip, untar unbzip2, ungzip, unlzip,并且具有只讀讀取和文件隨機(jī)訪(fǎng)問(wèn)API。 實(shí)現(xiàn)了對(duì)zip / tar / bzip2 / gzip / lzip的寫(xiě)支持。

項(xiàng)目地址:

14.DnsClient

一個(gè)非常高性能的dnslookup的C#實(shí)現(xiàn)庫(kù),方便在C#代碼中實(shí)現(xiàn)對(duì)DNS的各種查詢(xún)操作。

項(xiàng)目地址:

15.HtmlAgilityPack

HtmlAgilityPack是.net下的一個(gè)HTML解析類(lèi)庫(kù)。支持用XPath來(lái)解析HTML。這個(gè)意義不小,為什么呢?因?yàn)閷?duì)于頁(yè)面上的元素的xpath某些強(qiáng)大的瀏覽器能夠直接獲取得到,并不需要手動(dòng)寫(xiě)。節(jié)約了大半寫(xiě)正則表達(dá)式的時(shí)間,當(dāng)然正則表達(dá)式有時(shí)候在進(jìn)一步獲取的時(shí)候還需要寫(xiě),但是通過(guò)xpath解析之后,正則表達(dá)式已經(jīng)要匹配的范圍已經(jīng)非常小了。而且,不用正則表達(dá)式在整個(gè)頁(yè)面源代碼上匹配,速度也會(huì)有提升??偠灾?,通過(guò)該類(lèi)庫(kù),先通過(guò)瀏覽器獲取到xpath獲取到節(jié)點(diǎn)內(nèi)容然后再通過(guò)正則表達(dá)式匹配到所需要的內(nèi)容,無(wú)論是開(kāi)發(fā)速度,還是運(yùn)行效率都有提升。

項(xiàng)目地址:

16.HtmlSanitizer

可用于防止XSS攻擊的HTML凈化器,如何讓前臺(tái)用戶(hù)可以提交HTML數(shù)據(jù)而又不被腳本攻擊呢?HtmlSanitizer就是一個(gè)非常好的解決方案:設(shè)置不危險(xiǎn)的“標(biāo)簽、屬性”白名單,把所有不在白名單中的“標(biāo)簽、屬性”全部干掉。

項(xiàng)目地址:

17.ObjectsComparer

一個(gè)對(duì)象比較器,有時(shí)候項(xiàng)目中會(huì)有兩個(gè)對(duì)象比較里面哪些字段不一樣,而不是簡(jiǎn)單地equal或==比較,這就比較麻煩,自己老老實(shí)實(shí)一個(gè)一個(gè)字段去判斷顯得也很繁瑣,而ObjectsComparer則是幫助你自動(dòng)實(shí)現(xiàn)兩個(gè)對(duì)象里面每個(gè)字段的逐一對(duì)比,甚至還會(huì)幫你生成差異結(jié)果告訴你某個(gè)字段值從什么變化成了什么。

比較復(fù)雜對(duì)象的情況很普遍。 有時(shí)對(duì)象可以包含嵌套元素,或者某些成員應(yīng)從比較中排除(自動(dòng)生成的標(biāo)識(shí)符,創(chuàng)建/更新日期等),或者某些成員可以具有自定義比較規(guī)則(相同數(shù)據(jù),但格式不同,例如電話(huà)號(hào)碼)。 開(kāi)發(fā)這種小型框架是為了解決此類(lèi)問(wèn)題。

簡(jiǎn)而言之,對(duì)象比較器是對(duì)象到對(duì)象的比較器,它允許逐個(gè)成員地遞歸比較對(duì)象,并為某些屬性,字段或類(lèi)型定義自定義比較規(guī)則。

項(xiàng)目地址:

18.SearchExtensions

一個(gè)簡(jiǎn)單的本地全文檢索中間件,基于IQueryable實(shí)現(xiàn)linq to sql,用于簡(jiǎn)單的全文檢索,但性能嘛,肯定是沒(méi)有Masuit.LuceneEFCore.SearchEngine高的 ,項(xiàng)目中簡(jiǎn)單應(yīng)付一下全文檢索的需求還是蠻不錯(cuò)的選擇。

項(xiàng)目地址:

結(jié)語(yǔ)

就先推薦這么多吧,如果你也有什么好用的冷門(mén)開(kāi)源組件,也不妨分享一下吧!提高生產(chǎn)力,告別996!

轉(zhuǎn)自原文:



關(guān)鍵詞:推薦,實(shí)用,非常,冷門(mén)

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉