.NET平台常见技术框架整理汇总
使用.NET平台开发有段时间了,在网上资料的基础上做了进一步整理,汇集了.NET平台常见的技术框架。
参考资料:
基于.NET平台常用的框架整理
.NET开源框架列表
1.知识网络
2.分类清单
2.1.分布式缓存框架
名称 | 说明 | 地址 |
---|---|---|
Windows Server AppFabric | 微软自家分布式缓存服务框架, 扩展了 Windows Server 为 Web 应用程序和中间层服务提供增强的托管、管理和缓存功能 | https://www.microsoft.com/en-us/download/details.aspx?id=27115 |
Memcahed | 高性能的分布式内存对象缓存系统。它基于一个存储键/值对的hashmap,通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。 | http://memcached.org/ |
Redis | 使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API | https://redis.io/ |
NCache | 基于NGINX的Web服务器构建起来的缓存系统,适用于需要快速部署、大并发量、大存储量的需求 | http://www.alachisoft.com/ncache/ |
2.2.应用框架
名称 | 说明 | 地址 |
---|---|---|
ASP.NET Boilerplate | 基于领域驱动的开源Web开发框架 | https://www.aspnetboilerplate.com |
Orchard | 国外一个MVC开源的博客系统。 | |
DasBlog | 国外一个基于ASP.NET的博客系统 | |
BlogEngine.NET | 国外一款免费开源的博客系统。 | |
Dotnetnuke.NET | 一套非常优秀的基于ASP.NET的开源门户网站程序。 | |
Discuz.NET | 国内开源的论坛社区系统。 | |
nopCommerce和Aspxcommerce | 国外一套高质量的开源B2C网站系统。 | |
DTCMS | 国内两款开源的网站管理系统 |
2.3.日志记录异常处理
名称 | 说明 | 地址 |
---|---|---|
Log4Net | 轻量级的免费开源.NET日志记录框架。 | |
Enterprise Library Log Application Black | 微软企业库日志记录。 | |
Elmah | 实现最流行的ASP.NET应用异常日志记录框架。 | |
NLog | 简单灵活的日志记录类库,性能比Log4Net高,使用和维护难度低。 | |
Essential Diagnostics | 为内置System.Diagnostics 命名空间扩展功能,提供更灵活的日志功能。官网 | |
Logary | mono 和 .Net 平台下高性能、多目标的日志、度量、追踪和健康检查库。支持多目标,为微服务构建。 | |
StackExchange.Exceptional | Stack Exchange 网络使用的错误处理程序。 | |
Semantic Logging Application Block (SLAB) | 为内置 System.Diagnostics.Tracing 命名空间(EventSource类)扩展功能,支持将日志记录到多个容器中,包括 Azure 表存储、数据库、文件(JSON、XML、文本文件)。通过 ETW 支持进程内和进程外的日志记录,支持 Rx 进行实时的事件过滤和聚合。 | |
Exceptionless | 费开源分布式系统的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等技术栈的应用程序中,并且提供了Rest接口可以应用在 Javascript,Node.js 中。 |
2.4.NoSQL数据库
名称 | 说明 | 地址 |
---|---|---|
Mongodb | 分布式文件存储数据库。 | |
Membase | 家族的一个新的重量级的成员 |
2.5.自动任务调度框架
名称 | 说明 | 地址 |
---|---|---|
Quartz.NET | 开源的作业调度和自动任务框架。 | |
Topshelf | 另一种创建Windows服务的开源框架 |
2.6.依赖注入IOC容器框架
名称 | 说明 | 地址 |
---|---|---|
Unity | 微软patterns&practicest团队开发的IOC依赖注入框架,支持AOP横切关注点。 | |
MEF(Managed Extensibility Framework) | 是一个用来扩展.NET应用程序的框架,可开发插件系统。 | |
Spring.NET | 依赖注入、面向方面编程(AOP)、数据访问抽象,、以及ASP.NET集成。 | |
Autofac | 最流行的依赖注入和IOC框架,轻量且高性能,对项目代码几乎无任何侵入性。 | |
PostSharp | 实现静态AOP横切关注点,使用简单,功能强大,对目标拦截的方法无需任何改动。 | |
Ninject | 基于.NET轻量级开源的依赖注入IOC框架 |
2.7.ORM框架
名称 | 说明 | 地址 |
---|---|---|
EF(ADO.NET Entity Framework) | 微软基于ADO.NET开发的ORM框架。 | |
Nhibernate | 面向.NET环境的轻量级的ORM框架。 | |
SqlMapper.cs | 用于小项目的通用的C#数据库访问类。 | |
AutoMapper | 流行的对象映射框架,可减少大量硬编码,很小巧灵活,性能表现也可接受。 | |
SubSonic | 优秀的开源的ORM映射框架,同时提供符合自身需要的代码生成器。 | |
FluentData | 开源的基于Fluent API的链式查询ORM轻量级框架。 | |
Dapper | 轻量级高性能基于EMIT生成的ORM框架。 | |
EmitMapper | 性能较高的ORM框架,运行时通过EMIT动态生成IL代码,并非采用反射机制。 |
2.8.格式和数据类型转换
名称 | 说明 | 地址 |
---|---|---|
Newtonsoft.Json | 目前.NET开发中最流行的JSON序列化库,为新版的WebApi库提供基础。 | |
System.JSON.dll | 微软自己开发的JSON序列化组件(需要单独下载) | |
DataContractJsonSerializer 和 DataContractXmlSerializer | 微软在WCF中使用的序列化器。 | |
JavaScriptSerializer | 微软默认针对WEB开发者提供的JSON格式化器。 | |
iTextSharp、PDFsharp 和 PDF.NET | 通过.NET处理和生成PDF文档的组件。 | |
SharpZipLib.dll | 免费开源的ZIP和GZIP文件解压缩组件。 | |
Math.NET | 强大的数学运算、微积分、解方程和科学运算。 | |
DocX | 不需要安装word软件,通过C#操作word文件。 | |
SharpSerializer | 开源XML和、二进制、JSON、压缩和优化框架。 |
2.9.反射和动态语言
名称 | 说明 | 地址 |
---|---|---|
Clay dynamic | 开源的动态语言dynamic框架让您形如javascript的方式创建对象。 | |
ExposedObject | 在类的外部通过动态语言dynamic的方式访问私有成员。 | |
PrivateObject | 微软单元测试框架中便捷在外部调用类内部私有成员的一个类。 |
2.10.跨平台和运行时解决方案
名称 | 说明 | 地址 |
---|---|---|
MONO.NET | 跨平台的.NET运行环境,让.NET跨平台运行成为可能。 | |
DotGnu Portable.NET | 类似于MONO.NET的跨平台运行时。 | |
Phalanger | 将PHP编译成.NET,可实现PHP与.NET互操作。 | |
VMDotNet | 中国移动飞信所使用过的.NET运行时。 | |
Unity3D | 微软大力支持的机遇C#和JavaScript的跨平台游戏开发框架。 | |
Cassini、IIS Express和Cassinidev | 开源的ASP.NET执行环境。 | |
Katana | 微软基于OWIN规范实现的非IIS寄宿ASP.NET和MVC等。 | |
IKVM.NET | 基于.NET的JAVA虚拟机,让JAVA运行在.NET之上。 |
2.11.WEB开发和设计
名称 | 说明 | 地址 |
---|---|---|
Jumony Core | 基于.NET开发的HTML引擎。 | |
Microsoft.mshtml.dll、Winista.HtmlParser.dll 和 HtmlAgilityPack.dll | 解析处理HTML文档的框架。 | |
JavaScript.NET和ClearScript(微软出品) | 基于.NET开发的JavaScript引擎。 | |
NCrawler | 其HTML处理引擎htmlagilitypack的的开源网络爬虫软件。 | |
AntiXSS | 微软官方预防跨站XSS脚本入侵攻击的开源类库,它通过白名单机制进行内容编码。 | |
YUICompressor.NET、Microsoft Ajax Minifier 和 Google Closure Compiler | JavaScrip和CSS压缩器。 | |
NancyFx | 是一个不错的轻量级开源.NET WEB框架。如果想快速做个简单的WEB应用。 | |
AspNetPager | 国内知名的ASP.NET分页控件,支持多种分页方式。 | |
NOPI | 导出Excel报表的插件(基于微软OpenXml实现)(nopi.css.dl通过css设置样式) | |
Enterprise Library | 微软针对企业级应用开发的最佳实践组件。 | |
PowerCollections | 国外一个牛人写的高级开源集合。 |
2.12.移动互联网和云计算
名称 | 说明 | 地址 |
---|---|---|
PushSharp | 通过.NET向各种移动平台推送消息。 | |
mono for android | 用.NET语言开发安卓应用 | |
MonoTouch | 用.NET语言开发IOS应用。 | |
PhoneGap和AppCan | 跨平台基于HTML5的移动开发平台。 | |
Cordova | PhoneGap贡献给Apache后的开源项目,是驱动PhoneGap的核心引擎。 |
2.13.网络通信和网络协议
名称 | 说明 | 地址 |
---|---|---|
SuperSocket | 基于.NET轻量级的可扩展的Socket开发框架。 | |
SuperWebSocket | 通过.NET实现TML5 WebSocket框架。 | |
XProxy | 支持插件的基础代理程序集,内置NAT、加解密、反向、直接和间接代理。 |
2.14.图形和图像处理框架
名称 | 说明 | 地址 |
---|---|---|
Paint.NET | 基于.NET小巧灵活强大的图形处理开源项目。 | |
Imagemagick.NET | 用C#对开源图像处理组件Imagemagick的封装。 | |
Skimpt | 基于.NET开源的屏幕截图软件。 | |
ImageGlue.NET | 商业的图像处理组件,支持的格式列了一大堆。 | |
Sprite and Image Optimization Framework | 微软CSS精灵,多图合成一张大图和CSS样式。 |
2.15.桌面应用程序框架
名称 | 说明 | 地址 |
---|---|---|
DevExpress | 一个全球知名的桌面应用程序UI控件库。 | |
Prism | 微软开发的针对WPF和Silverlight的MVVM框架,通过功能模块化的思想,来讲复杂的业务功能和UI耦合性进行分离。 | |
WPFToolkit 和 Fluent Ribbon Control Suite | 开发类似于Office风格的Ribbon菜单。 | |
MVVMLight | 轻量级MVVM框架,适用于WPF和Silverlight | |
Caliburn.MIcro | 针对XML标签语言的MVVM框架,支持智能匹配 |
2.16.测试和性能评估
名称 | 说明 | 地址 |
---|---|---|
Faker.Net | 方便生成大批量测试数据的框架。 | |
Nunit | 一个轻量级的单元测试框架。 | |
Moq | 非常流行的Mock框架,支持LINQ,灵活且高性能。 | |
xUnit | 比NUnit更好的单元测试框架,升级改进版的Nunit框架。 | |
MiniProfiler和Glimpse | 基于MVC的两款性能事件监控框架。 |
2.17.事务和分布式事务支持
名称 | 说明 | 地址 |
---|---|---|
KtmIntegration | 一个支持NTFS文件系统的事务开源类。 | |
NET Transactional File Manager | 对文件系统操作(复制、移动和删除)加入事务支持。 |
2.18.分词、全文检索和搜索引擎
名称 | 说明 | 地址 |
---|---|---|
Lucene.net | 流行高性能的全文索引库,可用于为各类信息提供强大的搜索功能。 | |
Lucene.Net.Analysis.PanGu | 支持Lucene.Net最新版的盘古中文分词扩展库。 |
2.19.数据验证组件整理
名称 | 说明 | 地址 |
---|---|---|
FluentValidation for .NET | 基于LINQ表达式方法链Fluent接口验证组件。 | |
Microsoft.Practices.EnterpriseLibrary.Validation | 微软企业库验证程序块。 | |
CuttingEdge.Conditions | 基于Fluent接口方法练接口的契约编程组件。 | |
DotNetOpenAuth | 让网站具备支持OpenID、OAuth、InfoCard等身份验证的能力。 |
2.20.图表统计控件
名称 | 说明 | 地址 |
---|---|---|
Visifire | 一套效果非常好的WPF图表控件,支持3D绘制、曲线、折线、扇形、环形和梯形。 | |
SparrowToolkit | 一套WPF图表控件集,支持绘制动态曲线,可绘制示波器、CPU使用率和波形。 | |
DynamicDataDisplay | 微软开源的WPF动态曲线图,线图、气泡图和热力图。 | |
LiveCharts | WPF图表控件库 |
2.21.消息队列
名称 | 说明 | 地址 |
---|---|---|
Kafka | 一种分布式的,基于发布/订阅的消息系统。高吞吐率。支持Kafka Server间的消息分区,及分布式消费。同时支持离线数据处理和实时数据处理。支持在线水平扩展。 | |
RabbitMQ | 使用Erlang编写的开源消息队列,支持AMQP,XMPP, SMTP, STOMP等协议。重量级,更适合于企业级的开发。实现了Broker构架,在发送给客户端时先在中心队列排队。对路由,负载均衡或者数据持久化都有很好的支持。 | |
Redis | 基于Key-Value对的NoSQL数据库,支持MQ功能,可以当做一个轻量级的队列服务来使用 | |
ZeroMQ | 号称最快的消息队列系统,尤其针对大吞吐量的需求场景。ZeroMQ能够实现RabbitMQ不擅长的高级/复杂的队列。ZeroMQ具有一个独特的非中间件的模式,你不需要安装和运行一个消息服务器或中间件,因为你的应用程序将扮演这个服务器角色。仅提供非持久性的队列,如果宕机,数据将会丢失。 | |
ActiveMQ | Apache下的一个子项目。 类似于ZeroMQ,它能够以代理人和点对点的技术实现队列。同时类似于RabbitMQ,它少量代码就可以高效地实现高级应用场景。 | |
Kafka/Jafka | Kafka是Apache下的一个子项目,是一个高性能跨语言分布式发布/订阅消息队列系统,而Jafka是Kafka的一个升级版。快速持久化;高吞吐;完全的分布式系统,自动实现负载均衡;支持Hadoop数据并行加载。 |
2.22.人工智能
名称 | 说明 | 地址 |
---|---|---|
AIMLBot | 基于人工智能标记语言的聊天机器人,小型、快速、兼容标准、易于定制 | http://aimlbot.sourceforge.net/ |
SIML | Systhetic Intelligence Markup Language,智能综合标记语言,聊天机器人及数字语音助手 | https://simlbot.com/ |
2.23.认证及授权
名称 | 说明 | 地址 |
---|---|---|
ASP.NET Identity | 用于 ASP.NET 应用程序的新身份系统 | |
DotNetOpenAuth | OpenID、OAuth 和 InfoCard 协议的一个 C# 实现 | |
IdentityModel | .NET 4.5 和 MVC4、Web API 身份和访问控制的辅助库 | |
IdentityServer | 可扩展的 OAuth2 和 OpenID 连接提供程序框架。 | |
OAuth | 超轻量级 OAuth 1.0a 签名生成库,C# 编写。 |
2.24.机器学习和数据科学
名称 | 说明 | 地址 |
---|---|---|
Accord.NET | 机器学习框架,包含了音频和图像处理的库(计算机视觉、计算机听觉、信号处理和统计)。 | |
Accord.NET Extensions | 高级图像处理和计算机视觉算法扩展 | |
AForge.NET | 为计算机视觉和人工智能领域的开发者和研究人员提供的框架(包括图像处理、神经网络、遗传算法、机器学习、机器人科学)。 | |
Deedle | 处理探索性数据的数据帧和时序库,支持 C# 和 F#。 | |
FsLab | 数据科学和机器学习库的集合,支持 F# 和 .NET。 | |
numl | 包含最流行的监督学习和无监督学习算法,尽量减少创建预测模型时的冲突。 |
以上为.NET平台常用框架,能力有限,如有遗漏或不足支持,还望海涵!
.NET平台常见技术框架整理汇总相关推荐
- 基于.NET平台常用的框架整理
基于.NET平台常用的框架整理 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前 ...
- 基于.NET平台常用的框架整理(转)
分布式缓存框架: Microsoft Velocity:微软自家分布式缓存服务框架. Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度. Redis:是一个高性能的K ...
- 基于.NET平台常用的框架整理(收藏)
自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就 ...
- .NET平台常用的框架整理
从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就继 ...
- 电力大数据技术框架整理
随着社会现代化不断推进,出先了很多例如大数据和人工智能等新型技术,这些技术正在为越来越多的行业赋能.电力在我们生活中可以说是处处不在,为了提供更加便捷智能的服务,电力行业也出现了许多需要解决的问题.那 ...
- 华为认证常见技术问答整理:什么是Datacom认证?
一.关于Datacom认证 Q:什么是Datacom认证? A:Datacom,即DatacomCommunication的缩写,中文为"数据通信", 属于ICT技术架构认证类别( ...
- 气体管道管径及流量对照表_建筑用管道产品常见技术质量问答汇总
众所周知,建筑工程中常用的管材有PVC排水管.电工管.PPR管.地暖管,现将部分管材在工地施工中常见问题进行分析说明: 1.PPR球阀.截止阀是否有冷热水区分? 答:PPR球阀.截止阀无冷热水之分,P ...
- SaaS模式、技术与案例详解——第15章 SaaS平台的技术选型
[本章导读语] "笑嘻嘻的小猫咪,"爱丽斯问道,"请您告诉我,我应该走哪条路 呢?""那取决于您想去何方."小猫回答说. ________路 ...
- Java开发面试常见的技术问题整理
Java开发面试常见的技术问题整理 介绍 对jvm的了解? jvm类加载机制 jvm运行时数据区||Jvm体系结构五大块 jvm自带的加载器 jvm的双亲委派模式 什么是GC jvm的垃圾回收算法 怎 ...
最新文章
- GraphPad Prism 9.3 更新内容,支持Monterey和Win11
- 【原创】民航业——软件项目管理经验点滴
- Makefile中 变量赋值含义
- jsp页面路径问题(404)
- ipython notebook超级好用
- 人车识别实验丨华为ModelArts VS 百度Easy DL硬核体验
- nohup命令导致nohup.out文件过大处理办法
- HTML5与传统HTML的区别
- 传统行业中CPK的计算方法
- 颂钵带给我们是什么感受
- IBM服务器纽扣电池告警信息,IBM笔记本数字错误码信息.doc
- ttl转rs232发送十六进制_TTL和RS232之间的详细对比
- android 手机存储大小设置,如何让手机内存变大?内存不足解决方法【详解】
- SHAP 可视化解释机器学习模型简介
- VC6.0快捷键一览表
- 淘宝订单详情(插旗)API操作 API 返回值说明
- matlab自学入门
- 【NA】拉格朗日插值法
- android tuner 教程,安卓调谐器(Android Tuner)
- 添加/删除windows组件中没有IIS选项 怎么办