高效实用的.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

    以上只是简单的介绍了一些开源项目,后面如果有时间和精力,会写一些组件和开源项目的介绍,如果大家也有觉得比较好的项目,也可以在博客下面留言分享,让大家一起学习。

原文地址:http://www.cnblogs.com/pengze0902/p/7669631.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nssl1254-A(林下风气)【树形dp】

正题 题目大意 求一棵树上有多少个联通块的最大值和最小值差为k。 解题思路 其实直接用差<k的减去差<k的就是等于k的答案。 然后枚举一个点为最大值&#xff0c;然后只往小编号扩张就好了(不重)。 code #include<cstdio> #include<cstring> #include<a…

JVM(Java虚拟机)优化大全和案例实战

转载自 JVM&#xff08;Java虚拟机&#xff09;优化大全和案例实战 堆内存设置 原理 JVM堆内存分为2块&#xff1a;Permanent Space 和 Heap Space。 Permanent 即 持久代&#xff08;Permanent Generation&#xff09;&#xff0c;主要存放的是Java类定义信息&#xff0c;与…

对ASCALL码的理解

因为计算机只能识别0和1&#xff0c;相当于一个二进制&#xff0c;即位 程序中8个位构成一个字节&#xff0c;这样总共 2的八次方是等于 256 而早期美国的程序员只对0-128进行了编码 第0&#xff5e;32号及第127号(共34个)是控制字符或通讯专用字符&#xff0c;如控制符&#…

nssl1255-B(轻功)【SPFA,分层图】

正题 题目大意 有k中轻功&#xff0c;n个木桩&#xff0c;每种轻功可以消耗wisw_i\ swi​ s飞过aia_iai​个木桩&#xff0c;有些木桩有不可以被某种轻功飞过的限制&#xff0c;然后切换一次轻功要WsW\ sW s 解题思路 将图分成kkk层&#xff0c;每层表示在不同的轻功状态&…

EFCore废弃了TransactionScope取而代之的Context.Database.BeginTransaction

TransactionScope是.net平台基于的分布式事务组件&#xff0c;它默认为本地事务&#xff0c;同时当系统有需要时可以自动提升为分布式事务&#xff0c;而对系统的前提是要开启MSDTC服务&#xff0c;必要时需要在数据库服务器与应用服务器之间添加hosts的映射&#xff0c;这些在…

从 Spring Cloud 看一个微服务框架的「五脏六腑」

转载自 从 Spring Cloud 看一个微服务框架的「五脏六腑」 Spring Cloud 是一个基于 Spring Boot 实现的微服务框架&#xff0c;它包含了实现微服务架构所需的各种组件。 注&#xff1a;Spring Boot 简单理解就是简化 Spring 项目的搭建、配置、组合的框架。因为与构建微服务本…

eclipse导入github项目

首先登录github&#xff0c;找到项目&#xff0c;复制项目地址 复制地址在上面 即可导入成功 然后现在就可以玩游戏了 空手套白狼&#xff0c;github真的是白嫖&#xff0c;程序员必备之品。

nssl1256-C(盟主的忧虑)【并查集】

正题 题目大意 n个点的一棵树&#xff0c;增加了m条密道。对于树上每条边(A,B)(A,B)(A,B)被破坏后&#xff0c;要求A∼BA\sim BA∼B经过密道最短。 解题思路 引理:对于每个道路被破坏&#xff0c;最多只会经过一条边。 证明:对于每个答案&#xff0c;被破坏后&#xff0c;所在…

From Agile To DevOps - 微软开发部门 DevOps 经验谈

在 2013 年 11 月 13 日&#xff0c;我们正式发行了 Visual Studio 2013&#xff0c;以及全新的 Visual Studio Online 服务。但在服务发表之后&#xff0c;Visual Studio Online 却发⽣了异常&#xff0c;造成七个小时服务中断&#xff0c;这是因为在服务上线时&#xff0c;我…

RESTful API 最佳实践

转载自 RESTful API 最佳实践 RESTful 是目前最流行的 API 设计规范&#xff0c;用于 Web 数据接口的设计。 它的大原则容易把握&#xff0c;但是细节不容易做对。本文总结 RESTful 的设计细节&#xff0c;介绍如何设计出易于理解和使用的 API。 一、URL 设计 1.1 动词 宾…

selenium以及chromdrive安装

selenium的安装比较简单&#xff0c;直接pip install selenium就可以了 看有些网上写的chromedrive安装好麻烦啊&#xff0c;我win10自己试了下&#xff0c;感觉并不需要配置那么多环境变量。 直接性 http://npm.taobao.org/mirrors/chromedriver/ 找到相应的chrome版本即可 至…

将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表的存储空间,不另外占用其他的空间。表中不允许又重复的数据

#include<iostream> using namespace std;typedef struct lnode {//定义结点类型int data;struct lnode *next;//递归定义 } lnode,*LinkList;void CreateList(LinkList &L,int n) {//创建新链表Lnew lnode;//生成一个头结点L->nextNULL;//结点L的next置空for(int…

ssl提高组周二备考赛【2018.10.30】

前言 依旧想去德育基地… 成绩 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC1112017xxy2017xxy2017xxy2102102104040401001001007070702222017myself2017myself2017myself1901901902020201001001007070703332017lxf2017lxf2017lxf1801801800009090909090904442017…

通过C#/.NET API使用CNTK

CNTK v2.2.0提供C#API来建立、训练和评估CNTK模型。 本节概要介绍了CNTK C#API。 在CNTK github respository中可以找到C#训练示例。 使用C&#xff03;/ .NET管理API构建深层神经网络 CNTK C#API 通过CNTKLib命名空间提供基本操作。 CNTK操作需要一个或两个具有必要参数的输入…

Kafka Controller Redesign 方案

转载自 Kafka Controller Redesign 方案 Kafka Controller 是 Kafka 的核心组件&#xff0c;在前面的文章中&#xff0c;已经详细讲述过 Controller 部分的内容。在过去的几年根据大家在生产环境中应用的反馈&#xff0c;Controller 也积累了一些比较大的问题&#xff0c;而针…

做个人网站的原因

昨天b站上看视频&#xff0c;浏览评论时&#xff0c;看到一个网址 https://xiaoyou66.com/ 博主写了大概一百篇的文章&#xff0c;我进来的时候真的是被这js特效给惊到了&#xff0c;个人网站也能变得这么二次元嘛&#xff0c;讲实话&#xff0c;光是看这酷炫的页面都比较有欲望…

nssl1257-A【数论】

正题 题目大意 对于n个数组成的序列&#xff0c;求排好序需要最少交换次数的期望次数。 解题思路 我们可以先求出需要次数总和在乘上n!n!n!的逆元 先打一个表&#xff0c;不难发现 f(n)f(n−1)∗n(n−1)(n−1)!f(n)f(n-1)*n(n-1)(n-1)!f(n)f(n−1)∗n(n−1)(n−1)! 然后我们在…

一文理解Netty模型架构

转载自 一文理解Netty模型架构 本文基于Netty4.1展开介绍相关理论模型&#xff0c;使用场景&#xff0c;基本组件、整体架构&#xff0c;知其然且知其所以然&#xff0c;希望给读者提供学习实践参考。 1 Netty简介 Netty是 一个异步事件驱动的网络应用程序框架&#xff0c;用…

尝试涉猎更多领域

昨天b站上看视频&#xff0c;浏览评论时&#xff0c;看到一个网址 https://xiaoyou66.com/ 博主写了大概一百篇的文章&#xff0c;我进来的时候真的是被这js特效给惊到了&#xff0c;个人网站也能变得这么二次元嘛&#xff0c;讲实话&#xff0c;光是看这酷炫的页面都比较有欲望…

nssl1258-naive的瓶子【贪心】

正题 题目大意 有n个瓶子&#xff0c;将一个瓶子变成相邻一个瓶子的颜色价值为它们颜色值的乘积&#xff0c;求将所有瓶子变成同一个颜色的最低价值。 解题思路 枚举最后的剩下的颜色&#xff0c;然后对于每个瓶子只有两种可能 1.直接变成那个颜色 2.变成别的颜色在变成那个颜…