高效实用的.NET开源项目
似乎...很久很久没有写博客了,一直都想写两篇,但是却没有时间写。感觉最近有很多事情需要处理,一直都是疲于奔命,一直到最近才变得有些时间学习和充电。最近没有事情都会看一些博客和开源项目,发现介绍开源项目的文章似乎有些旧,而且很多介绍开源项目的文章都有比较相似的地方,毕竟.NET很好很实用的项目的确有限。
很多人也想了解一下最新和感觉有用的.NET开源项目,但是又没有时间去GitHub去逐一的看。感觉自己没事就花了几个小时,去GitHub看了搜索到的1000个项目,个人觉得比较实用的项目就自己做了一个整理。(备注:很多比较新的和比较厉害的组件和项目没有写入,因为很多文章都已经介绍过了,而且很多人也使用了,所以就没有怎么介绍)
最近忙着在做“在线协议”的方案,整个方案都实现,但是却陷入一个坑爹的场景,那就是在线协议需要借用UE对粘贴的文档进行转换为HTML,但是原始文档的格式很容易出现问题,导致生成的HTML标记也会产生问题,已至后面的正式的协议PDF文件和World文件都会失真,想看看大家有没有好的意见。(后面我会将目前的实现方案写出来分享)
1.Akka.NET:
概述:更轻松地构建强大的并发和分布式应用。
简介:Akka.NET是一个用于在.NET和Mono上构建高度并发,分布式和容错的事件驱动应用程序的工具包和运行时。
开源地址:https://github.com/akkadotnet/akka.net
2.Topshelf:
概述:使用.NET构建Windows服务的简单服务托管框架。
简介:Topshelf是托管使用.NET框架编写的服务的框架。服务的创建被简化,允许开发人员创建一个简单的控制台应用程序,可以使用Topshelf作为服务安装。原因很简单:调试控制台应用程序比服务容易得多。一旦应用程序经过测试并可以进行生产,Topshelf可以轻松安装应用程序作为服务。
开源地址:https://github.com/Topshelf/Topshelf
3.IdentityServer3:
概述:OpenID Connect Provider和用于ASP.NET 4.x / Katana的OAuth 2.0授权服务器框架。
简介:IdentityServer是一个基于.NET / Katana的框架和可托管组件,允许使用OpenID Connect和OAuth2等协议实现对现代Web应用程序和API的单一登录和访问控制。它支持广泛的客户端,如移动,Web,SPA和桌面应用程序,并且是可扩展的,可以集成到新的和现有的架构中。
开源地址:https://github.com/IdentityServer/IdentityServer3
4.MediatR:
概述:在.NET中简单的中介器实现。
简介:进程内消息传递,无依赖关系。支持请求/响应,命令,查询,通知和事件,通过C#通用方差进行智能调度的同步和异步。
开源地址:https://github.com/jbogard/MediatR
5.MassTransit:
概述:.NET的分布式应用程序框架。
简介:MassTransit可以轻松创建应用和服务,利用基于消息的松散耦合的异步通信,实现更高的可用性,可靠性和可扩展性。
开源地址:https://github.com/MassTransit/MassTransit
6.microdot:
概述:一个开源的.NET微服务框架。
简介:Microdot框架可帮助您创建可扩展和可靠的微服务(“微服务机架”),让您专注于编写定义服务逻辑的代码,而无需解决开发分布式系统的无数挑战。Microdot还可以很好地与 Orleans虚拟演员框架相结合,让您轻松地编写基于 Orleans微型服务。
开源地址:https://github.com/gigya/microdot
7.Docker.DotNet:
概述:用于Docker API的.NET(C#)客户端库。
简介:与 .NET应用程序中的Docker Remote API端点进行交互。它是完全异步的,旨在以非阻塞和面向对象的方式通过编程方式与Docker守护程序进行交互。
开源地址:https://github.com/Microsoft/Docker.DotNet
8.Z.ExtensionMethods:
概述:C#扩展方法| .NET开源和免费库
简介:通过超过1000种扩展方法增强.NET Framework。
开源地址:https://github.com/zzzprojects/Z.ExtensionMethods
9.SuperWebSocket:
概述:SuperWebSocket是WebSocket服务器的.NET实现。
简介:WebSocket是通过单个传输控制协议(TCP)插座提供双向,全双工通信信道的技术。它被设计为在Web浏览器和Web服务器中实现,但它可以被任何客户端或服务器应用程序使用。SuperWebSocket被合并到SuperSocket作为附加模块SuperSocket.WebSocket。您可以使用SuperSocket.WebSocket用相同的方式SuperWebSocket但有不同的命名空间。
开源地址:https://github.com/kerryjiang/SuperWebSocket
10.Seal-Report:
概述:开放数据库报表工具(.Net)
简介:Seal-Report提供了一个完整的框架,用于从任何数据库生成日常报告和仪表板。Seal-Report是Microsoft .NET Framework完全用C#编写的开源工具。
开源地址:https://github.com/ariacom/Seal-Report
11.accord-net-extensions:
概述:先进的图像处理和计算机视觉算法作为流畅的扩展而构建为可移植性。
简介:Accord.NET Extensions是Accord.NET和AForge.NET的扩展框架。框架集中将.NET本地数组作为主要成像对象,并提供大多数构建为扩展的计算机视觉算法。
开源地址:https://github.com/dajuric/accord-net-extensions
12.MediaToolkit:
概述:用于转换和处理所有视频和音频文件的.NET库。
简介:MediaToolkit为处理媒体数据提供了一个简单的界面,完成了轻松转换,切片和编辑音频和视频等任务。在引擎盖下,MediaToolkit是一个用于FFmpeg的.NET包装器; 一个包含多个音频和视频编解码器的免费(LGPLv2.1)多媒体框架,支持多种媒体格式的多路复用,解复用和转码任务。(从视频抓住缩略图,检索元数据,基本转换,将Flash视频转换为DVD,转码选项FLV到MP4,将视频缩小到较小的长度)
开源地址:https://github.com/AydinAdn/MediaToolkit
13.htmldiff.net:
概述:.NET的Html Diff算法。
简介:用于比较两个HTML文件/片段的库,并使用简单的HTML突出显示差异。这个HTML Diff实现是在这里找到的ruby实现的C#端口。
开源地址:https://github.com/Rohland/htmldiff.net
14.CalbucciLib.ExtensionsGalore:
概述:.NET中内置类型和类的扩展的100个扩展。
简介:ExtensionsGalore是一个库,可以扩展.NET的许多常见类型和类别,以便快速方便地访问Web和移动开发的常见场景。换句话说,它可以帮助您编写更少的代码行,并将更多的焦点集中在应用程序中。
开源地址:https://github.com/calbucci/CalbucciLib.ExtensionsGalore
15.Dapper:
概述:Dapper - 一个简单的对象映射器.Net
简介:Dapper的一个关键特性是性能。
开源地址:https://github.com/StackExchange/Dapper
16.FluentValidation:
概述:.NET的一个小型验证库,它使用流畅的界面和lambda表达式来构建验证规则。
简介:.NET的一个小型验证库,它使用流畅的界面和lambda表达式来构建验证规则。由Jeremy Skinner(http://www.jeremyskinner.co.uk)撰写,并在Apache 2下授权。
开源地址:https://github.com/JeremySkinner/FluentValidation
17.Accord.NET Framework:
概述:机器学习,计算机视觉,统计学和.NET的一般科学计算。
简介:Accord.NET项目为.NET提供机器学习,统计,人工智能,计算机视觉和图像处理方法。它可以在Microsoft Windows,Xamarin,Unity3D,Windows Store应用程序,Linux或移动设备上使用。在与AForge.NET项目合并之后,该框架现在提供了一个用于学习/训练机器学习模型的统一API,其易于使用和可扩展。
开源地址:https://github.com/accord-net/framework
18.Lucene.Net:
概述:Apache Lucene.Net镜像
简介:Apache Lucene.Net是一个.NET全文搜索引擎框架,是流行的Apache Lucene项目的C#端口。Apache Lucene.Net不是一个完整的应用程序,而是一个可以轻松地用于向应用程序添加搜索功能的代码库和API。
开源地址:https://github.com/apache/lucenenet
19.CommonMark.NET:
概述:在C#中实现CommonMark规范,将Markdown文档转换为HTML。针对最大的性能和可移植性进行了优化。
简介:在C#中实现CommonMark规范(通过0.27版的测试)将Markdown文档转换为HTML。
开源地址:https://github.com/Knagis/CommonMark.NET
20.WebApiThrottle:
概述:用于IIS和Owin托管的ASP.NET Web API速率限制器。
简介:ASP.NET Web API调节处理程序,OWIN中间件和过滤器旨在根据IP地址,客户端API密钥和请求路由来控制客户端对Web API的请求速率。(基于IP的全局调节,基于IP的端点限制,端点限制基于IP和客户端密钥,IP和/或客户端密钥白名单,IP和/或客户端密钥自 定义速率限制,端点自定义速率限制,堆栈拒绝请求,在web.config或app.config中定义速率限制,检索API客户端密钥,存储油门指标,运行时更新速率限制,记录限制的请求,基于属性的速率限制与ThrottlingFilter和EnableThrottlingAttribute,速度限制与ThrottlingMiddleware,自定义ip地址解析)
开源地址:https://github.com/stefanprodan/WebApiThrottle
以上只是简单的介绍了一些开源项目,后面如果有时间和精力,会写一些组件和开源项目的介绍,如果大家也有觉得比较好的项目,也可以在博客下面留言分享,让大家一起学习。