高效實(shí)用的.NET開源項目分享
1、Akka.NET:
概述:更輕松地構(gòu)建強(qiáng)大的并發(fā)和分布式應(yīng)用。
簡介:Akka.NET是一個用于在.NET和Mono上構(gòu)建高度并發(fā),分布式和容錯的事件驅(qū)動應(yīng)用程序的工具包和運(yùn)行時。
開源地址:https://github.com/akkadotnet/akka.net
2、Topshelf:
概述:使用.NET構(gòu)建Windows服務(wù)的簡單服務(wù)托管框架。
簡介:Topshelf是托管使用.NET框架編寫的服務(wù)的框架。服務(wù)的創(chuàng)建被簡化,允許開發(fā)人員創(chuàng)建一個簡單的控制臺應(yīng)用程序,可以使用Topshelf作為服務(wù)安裝。原因很簡單:調(diào)試控制臺應(yīng)用程序比服務(wù)容易得多。一旦應(yīng)用程序經(jīng)過測試并可以進(jìn)行生產(chǎn),Topshelf可以輕松安裝應(yīng)用程序作為服務(wù)。
開源地址:https://github.com/Topshelf/Topshelf
3、IdentityServer3:
概述:OpenID Connect Provider和用于ASP.NET 4.x / Katana的OAuth 2.0授權(quán)服務(wù)器框架。
簡介:IdentityServer是一個基于.NET / Katana的框架和可托管組件,允許使用OpenID Connect和OAuth2等協(xié)議實(shí)現(xiàn)對現(xiàn)代Web應(yīng)用程序和API的單一登錄和訪問控制。它支持廣泛的客戶端,如移動,Web,SPA和桌面應(yīng)用程序,并且是可擴(kuò)展的,可以集成到新的和現(xiàn)有的架構(gòu)中。
開源地址:https://github.com/IdentityServer/IdentityServer3
4、MediatR:
概述:在.NET中簡單的中介器實(shí)現(xiàn)。
簡介:進(jìn)程內(nèi)消息傳遞,無依賴關(guān)系。支持請求/響應(yīng),命令,查詢,通知和事件,通過C#通用方差進(jìn)行智能調(diào)度的同步和異步。
開源地址:https://github.com/jbogard/MediatR
5、MassTransit:
概述:.NET的分布式應(yīng)用程序框架。
簡介:MassTransit可以輕松創(chuàng)建應(yīng)用和服務(wù),利用基于消息的松散耦合的異步通信,實(shí)現(xiàn)更高的可用性,可靠性和可擴(kuò)展性。
開源地址:https://github.com/MassTransit/MassTransit
6、microdot:
概述:一個開源的.NET微服務(wù)框架。
簡介:Microdot框架可幫助您創(chuàng)建可擴(kuò)展和可靠的微服務(wù)(“微服務(wù)機(jī)架”),讓您專注于編寫定義服務(wù)邏輯的代碼,而無需解決開發(fā)分布式系統(tǒng)的無數(shù)挑戰(zhàn)。Microdot還可以很好地與 Orleans虛擬演員框架相結(jié)合,讓您輕松地編寫基于 Orleans微型服務(wù)。
開源地址:https://github.com/gigya/microdot
7、Docker.DotNet:
概述:用于Docker API的.NET(C#)客戶端庫。
簡介:與 .NET應(yīng)用程序中的Docker Remote API端點(diǎn)進(jìn)行交互。它是完全異步的,旨在以非阻塞和面向?qū)ο蟮姆绞酵ㄟ^編程方式與Docker守護(hù)程序進(jìn)行交互。
開源地址:https://github.com/Microsoft/Docker.DotNet
8、Z.ExtensionMethods:
概述:C#擴(kuò)展方法| .NET開源和免費(fèi)庫
簡介:通過超過1000種擴(kuò)展方法增強(qiáng).NET Framework。
開源地址:https://github.com/zzzprojects/Z.ExtensionMethods
9、SuperWebSocket:
概述:SuperWebSocket是WebSocket服務(wù)器的.NET實(shí)現(xiàn)。
簡介:WebSocket是通過單個傳輸控制協(xié)議(TCP)插座提供雙向,全雙工通信信道的技術(shù)。它被設(shè)計為在Web瀏覽器和Web服務(wù)器中實(shí)現(xiàn),但它可以被任何客戶端或服務(wù)器應(yīng)用程序使用。SuperWebSocket被合并到SuperSocket作為附加模塊SuperSocket.WebSocket。您可以使用SuperSocket.WebSocket用相同的方式SuperWebSocket但有不同的命名空間。
開源地址:https://github.com/kerryjiang/SuperWebSocket
10、Seal-Report:
概述:開放數(shù)據(jù)庫報表工具(.Net)
簡介:Seal-Report提供了一個完整的框架,用于從任何數(shù)據(jù)庫生成日常報告和儀表板。Seal-Report是Microsoft .NET Framework完全用C#編寫的開源工具。
開源地址:https://github.com/ariacom/Seal-Report
11、accord-net-extensions:
概述:先進(jìn)的圖像處理和計算機(jī)視覺算法作為流暢的擴(kuò)展而構(gòu)建為可移植性。
簡介:Accord.NET Extensions是Accord.NET和AForge.NET的擴(kuò)展框架??蚣芗袑?NET本地數(shù)組作為主要成像對象,并提供大多數(shù)構(gòu)建為擴(kuò)展的計算機(jī)視覺算法。
開源地址:https://github.com/dajuric/accord-net-extensions
12、MediaToolkit:
概述:用于轉(zhuǎn)換和處理所有視頻和音頻文件的.NET庫。
簡介:MediaToolkit為處理媒體數(shù)據(jù)提供了一個簡單的界面,完成了輕松轉(zhuǎn)換,切片和編輯音頻和視頻等任務(wù)。在引擎蓋下,MediaToolkit是一個用于FFmpeg的.NET包裝器; 一個包含多個音頻和視頻編解碼器的免費(fèi)(LGPLv2.1)多媒體框架,支持多種媒體格式的多路復(fù)用,解復(fù)用和轉(zhuǎn)碼任務(wù)。(從視頻抓住縮略圖,檢索元數(shù)據(jù),基本轉(zhuǎn)換,將Flash視頻轉(zhuǎn)換為DVD,轉(zhuǎn)碼選項FLV到MP4,將視頻縮小到較小的長度)
開源地址:https://github.com/AydinAdn/MediaToolkit
13、htmldiff.net:
概述:.NET的Html Diff算法。
簡介:用于比較兩個HTML文件/片段的庫,并使用簡單的HTML突出顯示差異。這個HTML Diff實(shí)現(xiàn)是在這里找到的ruby實(shí)現(xiàn)的C#端口。
開源地址:https://github.com/Rohland/htmldiff.net
14、CalbucciLib.ExtensionsGalore:
概述:.NET中內(nèi)置類型和類的擴(kuò)展的100個擴(kuò)展。
簡介:ExtensionsGalore是一個庫,可以擴(kuò)展.NET的許多常見類型和類別,以便快速方便地訪問Web和移動開發(fā)的常見場景。換句話說,它可以幫助您編寫更少的代碼行,并將更多的焦點(diǎn)集中在應(yīng)用程序中。
開源地址:https://github.com/calbucci/CalbucciLib.ExtensionsGalore
15、Dapper:
概述:Dapper - 一個簡單的對象映射器.Net
簡介:Dapper的一個關(guān)鍵特性是性能。
開源地址:https://github.com/StackExchange/Dapper
16、FluentValidation:
概述:.NET的一個小型驗證庫,它使用流暢的界面和lambda表達(dá)式來構(gòu)建驗證規(guī)則。
簡介:.NET的一個小型驗證庫,它使用流暢的界面和lambda表達(dá)式來構(gòu)建驗證規(guī)則。由Jeremy Skinner(//www.jeremyskinner.co.uk)撰寫,并在Apache 2下授權(quán)。
開源地址:https://github.com/JeremySkinner/FluentValidation
17、Accord.NET Framework:
概述:機(jī)器學(xué)習(xí),計算機(jī)視覺,統(tǒng)計學(xué)和.NET的一般科學(xué)計算。
簡介:Accord.NET項目為.NET提供機(jī)器學(xué)習(xí),統(tǒng)計,人工智能,計算機(jī)視覺和圖像處理方法。它可以在Microsoft Windows,Xamarin,Unity3D,Windows Store應(yīng)用程序,Linux或移動設(shè)備上使用。在與AForge.NET項目合并之后,該框架現(xiàn)在提供了一個用于學(xué)習(xí)/訓(xùn)練機(jī)器學(xué)習(xí)模型的統(tǒng)一API,其易于使用和可擴(kuò)展。
開源地址:https://github.com/accord-net/framework
18、Lucene.Net:
概述:Apache Lucene.Net鏡像
簡介:Apache Lucene.Net是一個.NET全文搜索引擎框架,是流行的Apache Lucene項目的C#端口。Apache Lucene.Net不是一個完整的應(yīng)用程序,而是一個可以輕松地用于向應(yīng)用程序添加搜索功能的代碼庫和API。
開源地址:https://github.com/apache/lucenenet
19、CommonMark.NET:
概述:在C#中實(shí)現(xiàn)CommonMark規(guī)范,將Markdown文檔轉(zhuǎn)換為HTML。針對最大的性能和可移植性進(jìn)行了優(yōu)化。
簡介:在C#中實(shí)現(xiàn)CommonMark規(guī)范(通過0.27版的測試)將Markdown文檔轉(zhuǎn)換為HTML。
開源地址:https://github.com/Knagis/CommonMark.NET
20、WebApiThrottle:
概述:用于IIS和Owin托管的ASP.NET Web API速率限制器。
簡介:ASP.NET Web API調(diào)節(jié)處理程序,OWIN中間件和過濾器旨在根據(jù)IP地址,客戶端API密鑰和請求路由來控制客戶端對Web API的請求速率。(基于IP的全局調(diào)節(jié),基于IP的端點(diǎn)限制,端點(diǎn)限制基于IP和客戶端密鑰,IP和/或客戶端密鑰白名單,IP和/或客戶端密鑰自 定義速率限制,端點(diǎn)自定義速率限制,堆棧拒絕請求,在web.config或app.config中定義速率限制,檢索API客戶端密鑰,存儲油門指標(biāo),運(yùn)行時更新速率限制,記錄限制的請求,基于屬性的速率限制與ThrottlingFilter和EnableThrottlingAttribute,速度限制與ThrottlingMiddleware,自定義ip地址解析)
開源地址:https://github.com/stefanprodan/WebApiThrottle