转:高效实用的.NET开源项目
本文转自:http://www.cnblogs.com/pengze0902/p/7669631.html
似乎...很久很久没有写博客了,一直都想写两篇,但是却没有时间写。感觉最近有很多事情需要处理,一直都是疲于奔命,一直到最近才变得有些时间学习和充电。最近没有事情都会看一些博客和开源项目,发现介绍开源项目的文章似乎有些旧,而且很多介绍开源项目的文章都有比较相似的地方,毕竟.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
以上只是简单的介绍了一些开源项目,后面如果有时间和精力,会写一些组件和开源项目的介绍,如果大家也有觉得比较好的项目,也可以在博客下面留言分享,让大家一起学习。
21.其他:
https://github.com/sindresorhus/awesome
.NET
https://github.com/quozd/awesome-dotnet
https://github.com/thangchung/awesome-dotnet-core
https://gitee.com/lishilei0523/S.D.Framework2015
https://github.com/slimjack/IWC
js跨页面通信
转:高效实用的.NET开源项目的更多相关文章
- 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密
你真的了解字典(Dictionary)吗? 从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...
- 高效实用的.NET开源项目
似乎...很久很久没有写博客了,一直都想写两篇,但是却没有时间写.感觉最近有很多事情需要处理,一直都是疲于奔命,一直到最近才变得有些时间学习和充电.最近没有事情都会看一些博客和开源项目,发现介绍开源项 ...
- 众包高效实用的.NET开源项目
1.Akka.NET: 概述:更轻松地构建强大的并发和分布式应用. 简介:Akka.NET是一个用于在.NET和Mono上构建高度并发,分布式和容错的事件驱动应用程序的工具包和运行时. 开源地址:ht ...
- GitHub上易于高效开发的Android开源项目TOP20--适合新手
1. android-async-http android-async-http是Android上的一个异步.基于回调的HTTP客户端开发包,建立在Apache的HttpClient库上. 2. an ...
- DIOCP开源项目-高效稳定的服务端解决方案(DIOCP + 无锁队列 + ZeroMQ + QWorkers) 出炉了
[概述] 自从上次发布了[DIOCP开源项目-利用队列+0MQ+多进程逻辑处理,搭建稳定,高效,分布式的服务端]文章后,得到了很多朋友的支持和肯定.这加大了我的开发动力,经过几个晚上的熬夜,终于在昨天 ...
- 百度DMLC分布式深度机器学习开源项目(简称“深盟”)上线了如xgboost(速度快效果好的Boosting模型)、CXXNET(极致的C++深度学习库)、Minerva(高效灵活的并行深度学习引擎)以及Parameter Server(一小时训练600T数据)等产品,在语音识别、OCR识别、人脸识别以及计算效率提升上发布了多个成熟产品。
百度为何开源深度机器学习平台? 有一系列领先优势的百度却选择开源其深度机器学习平台,为何交底自己的核心技术?深思之下,却是在面对业界无奈时的远见之举. 5月20日,百度在github上开源了其 ...
- Android非常实用的开源项目框架
我将文章中所描述的项目都集成在一个apk中,可以直接运行查看效果,2.2以上的机器都可以运行.因为不让直接上传apk文件,我压缩成了zip包 1. Universal-Image-Loader 实现异 ...
- python实战===国内很简单实用的一些开源的api以及开源项目
原创 2017年03月25日 15:40:59 标签: api / 开源项目 / app / 免费接口 声明 以下所有 API 均由产品公司自身提供,本人皆从网络获取.获取与共享之行为或有侵犯产品 ...
- 如何高效地在github上找开源项目学习?
1.高级条件组合(精确搜索) in:readme 微服务 stars:>1000 in:readme spring security stars:>3000 in:name python ...
随机推荐
- How Does Caching Work in AFNetworking? : AFImageCache & NSUrlCache Explained
http://blog.originate.com/blog/2014/02/20/afimagecache-vs-nsurlcache/
- JavaEE高级-Spring Data学习笔记
Spring Data概述 - Spring Data : Spring 的一个子项目.用于简化数据库访问,支持NoSQL 和 关系数据存储.其主要目标是使数据库的访问变得方便快捷. - Spring ...
- vim查找和替换
https://www.cnblogs.com/huxinga/p/7942194.html %s/husband/丈夫/g
- 【转载】 原生js判断某个元素是否滚动到底部
document.querySelector('.content').addEventListener('scroll',function () { //读取内容区域的真实高度(滚动条高) // co ...
- button标签设置line-height问题
默认设置line-height是不会有问题的. 加了边框后就会出现问题. 如果想要解决的话.就调整行高,自己满意为止.
- Dynamic len
题目 有n个数编号从0→n-1,两种操作: Q L R:询问编号为L→R-1的数中共有多少种不同的数 M X Y:将编号为X的数改为Y 共有m个操作 分析 既然是单点修改,查询,我们考虑一下分块. 首 ...
- SpringBoot整合MongoDb(二)
构建项目及配置 pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</ ...
- Go实现分布式外部排序
Go实现分布式外部排序 项目路径: https://github.com/Draymonders/go_external_sort 默认读入文件: small.in 默认输出文件:small.out ...
- 【bzoj3295】[Cqoi2011]动态逆序对
题目描述: 对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数.给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆 ...
- 搭建 .Net RabbitMQ 开发环境
开发环境,window 10 64位,VS2017,系统账号需要用administrator. 1 先需要安装erlang语言开发包,一路默认安装就是了,地址:http://www.erlang.or ...