.NET平台常用的框架整理

  • 时间:
  • 浏览:2

NLog:是有有有有一个简单灵活的日志记录类库,性能比Log4Net高,使用和维护难度低。

Autofac:最流行的依赖注入和IOC框架,轻量且高性能,对项目代码几乎无任何侵入性。

SuperSocket:基于.NET轻量级的可扩展的Socket开发框架。

Dotnetnuke.NET:一套非常优秀的基于ASP.NET的开源门户网站守护进程。

SqlMapper.cs:用于小项目的通用的C#数据库访问类。

Enterprise Library:微软针对企业级应用开发的最佳实践组件。

Cassini、IIS Express和Cassinidev:开源的ASP.NET执行环境。

EF(ADO.NET Entity Framework):微软基于ADO.NET开发的ORM框架。

Sprite and Image Optimization Framework:微软CSS精灵,多图合成一张大图和CSS样式。

Unity:微软patterns&practicest团队开发的IOC依赖注入框架,支持AOP横切关注点。

Topshelf:另某种创建Windows服务的开源框架

JavaScript.NET和ClearScript(微软出品):基于.NET开发的JavaScript引擎。

PushSharp:通过.NET向各种移动平台推送消息。

SuperWebSocket:通过.NET实现TML5 WebSocket框架。

ZeroMQ号称最快的消息队列系统,尤其针对大吞吐量的需求场景。ZeroMQ不能实现RabbitMQ不擅长的高级/繁杂的队列,本来开发人员需用自己组合多种技术框架,技术上的繁杂度是对这MQ不能应用成功的挑战。ZeroMQ具有有有有有一个独特的非底下件的模式,你不需用安装和运行有有有有一个消息服务器或底下件,刚刚你的应用守护进程将扮演这俩服务器角色。你只需用简单的引用ZeroMQ守护进程库,需用使用NuGet安装,本来你就需用愉快的在应用守护进程之间发送消息了。本来ZeroMQ仅提供非持久性的队列,也本来说刚刚宕机,数据刚刚丢失。其中,Twitter的Storm 0.9.0刚刚的版本中默认使用ZeroMQ作为数据流的传输(Storm从0.9版本现在结束了一起支持ZeroMQ和Netty作为传输模块)。

AutoMapper:流行的对象映射框架,可减少几滴 硬编码,很小巧灵活,性能表现也可接受。

Kafka/Jafka

EnyimMemcached:访问Memcached最优秀的.NET客户端,集成不错的分布式均衡算法。

XProxy:支持插件的基础代理守护进程集,内置NAT、加解密、反向、直接和间接代理。

Quartz.NET:开源的作业调度和自动任务框架。

Dapper:轻量级高性能基于EMIT生成的ORM框架。

Imagemagick.NET:用C#对开源图像外理组件Imagemagick的封装。

nopCommerce和Aspxcommerce:国外一套高质量的开源B2C网站系统。

RabbitMQ

Redis:是有有有有一个高性能的KV数据库。 它的经常老出很大程度补偿了Memcached在有些方面的缺乏。

Math.NET:强大的数学运算、微积分、解方程和科学运算。

PowerCollections:国外有有有有一个牛人写的高级开源集合。

DynamicDataDisplay:微软开源的WPF动态曲线图,线图、气泡图和热力图。

NCrawler:其HTML外理引擎htmlagilitypack的的开源网络爬虫软件。

ZeroMQ

Redis

DotGnu Portable.NET:这俩于MONO.NET的跨平台运行时。

MONO.NET:跨平台的.NET运行环境,让.NET跨平台运行成为刚刚。

MEF(Managed Extensibility Framework):是有有有有一个用来扩展.NET应用守护进程的框架,可开发插件系统。

IKVM.NET:基于.NET的Java虚拟机,让JAVA运行在.NET之上。

System.JSON.dll:微软自己开发的JSON序列化组件(需用单独下载)

spring.NET:依赖注入、面向方面编程(AOP)、数据访问抽象,、以及ASP.NET集成。

一起支持离线数据外理和实时数据外理。

YUICompressor.NET、Microsoft Ajax Minifier 和 Google Closure Compiler:JavaScrip和CSS压缩器。

OXITE:微软ASP.NET MVC案例演示框架。

ImageGlue.NET:商业的图像外理组件,支持的格式列了一大堆。

DocX:不需用安装word软件,通过C#操作word文件。

MongoDB:分布式文件存储数据库。

BlogEngine.NET:国外一款免费开源的博客系统。

RabbitMQ是使用Erlang编写的有有有有一个开源的消息队列,某种支持太少太少的协议:AMQP,XMPP, SMTP, STOMP,也正因没有,它非常重量级,更适合于企业级的开发。一起实现了Broker构架,这原应分析消息在发送给客户端时先在中心队列排队。对路由,负载均衡刚刚数据持久化删改都在很好的支持。

DotNetOpenAuth:让网站具备支持OpenID、OAuth、InfoCard等身份验证的能力。

SubSonic:优秀的开源的ORM映射框架,一起提供符合自身需用的代码生成器。

Kafka是Apache下的有有有有一个子项目,是有有有有一个高性能跨语言分布式发布/订阅消息队列系统,而Jafka是在Kafka之上孵化而来的,即Kafka的有有有有一个升级版。具有以下形态:快速持久化,需用在O(1)的系统开销下进行消息持久化;高吞吐,在一台普通的服务器上既需用达到10W/s的吞吐带宽;删改的分布式系统,Broker、Producer、Consumer都原生自动支持分布式,自动实现负载均衡;支持Hadoop数据并行加载,对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时外理的限制,这是有有有有一个可行的外理方案。Kafka通过Hadoop的并行加载机制统一了在线和离线的消息外理。Apache Kafka相对于ActiveMQ是有有有有一个非常轻量级的消息系统,除了性能非常好之外,还是有有有有一个工作良好的分布式系统。

Clay dynamic:开源的动态语言dynamic框架让您形如JavaScript的方法创建对象。

Microsoft Velocity:微软自家分布式缓存服务框架。

SharpZipLib.dll:免费开源的ZIP和GZIP文件解压缩组件。

SharpSerializer:开源XML和、二进制、JSON、压缩和优化框架。

Lucene.Net.Analysis.PanGu:支持Lucene.Net最新版的盘古中文分词扩展库。

以时间繁杂度为O(1)的方法提供消息持久化能力,即使对TB级以上数据不能保证常数时间繁杂度的访问性能。

MonoTouch:用.NET语言开发iOS应用。

JumboTCMS和DTCMS:国内两款开源的网站管理系统:

PrivateObject:微软单元测试框架中便捷在内部人员调用类内部人员私有成员的有有有有一个类。

需用扩充消息队列类别,如:Kafka是某种分布式的,基于发布/订阅的消息系统。主要设计目标如下:

MiniProfiler和Glimpse:基于MVC的两款性能事件监控框架。

Microsoft.mshtml.dll、Winista.HtmlParser.dll 和 HtmlAgilityPack.dll:解析外理HTML文档的框架。

Enterprise Library Log Application Black:微软企业库日志记录。

iTextSharp、PDFsharp 和 PDF.NET:通过.NET外理与生成PDF文档的组件。

ActiveMQ

WPFToolkit 和 Fluent Ribbon Control Suite:开发这俩于Office风格的Ribbon菜单。

Memcahed:一套分布式的高速缓存系统,目前被有些网站使用以提升网站的访问带宽。

EmitMapper:性能较高的ORM框架,运行时通过EMIT动态生成IL代码,并不采用反射机制。

Cordova:PhoneGap贡献给Apache后的开源项目,是驱动PhoneGap的核心引擎。

Lucene.net:流行高性能的全文索引库,可用于为各类信息提供强大的搜索功能。

Elmah:实现最流行的ASP.NET应用异常日志记录框架。

Skimpt:基于.NET开源的屏幕截图软件。

CuttingEdge.Conditions:基于Fluent接口方法练接口的契约编程组件。

NOPI.dll:导出Excel报表的插件(基于微软OpenXml实现)(nopi.css.dl通过css设置样式)

AntiXSS:微软官方预防跨站XSS脚本入侵攻击的开源类库,它通过白名单机制进行内容编码。

高吞吐率。即使在非常廉价的商用机器上不能做到单机支持每秒400K条以上消息的传输。

支持Kafka Server间的消息分区,及分布式消费,一起保证每个Partition内的消息顺序传输。

VMDotNet:中国移动飞信所使用过的.NET运行时。

Unity3D:微软大力支持的机遇C#和JavaScript的跨平台游戏开发框架。

SSCLI:微软在NET Framework 2.0时代的开源代码。

PetShop:微软ASP.Net宠物商店。

NancyFx:是有有有有一个不错的轻量级开源.NET WEB框架。刚刚想快速做个简单的WEB应用。

Visifire:一套效果非常好的WPF图表控件,支持3D绘制、曲线、折线、扇形、环形和梯形。

Microsoft.Practices.EnterpriseLibrary.Validation.dll:微软企业库验证守护进程块。

感谢您的阅读,刚刚您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客,我是yswenli 。

PostSharp:实现静态AOP横切关注点,使用简单,功能强大,对目标拦截的方法不必任何改动。

Katana:微软基于OWIN规范实现的非IIS寄宿ASP.NET和MVC等。

mono for Android:用.NET语言开发安卓应用:

Paint.NET:基于.NET小巧灵活强大的图形外理开源项目。

Faker.Net:方便生成大批量测试数据的框架。

PhoneGap和AppCan:跨平台基于HTML5的移动开发平台。

Nhibernate:面向.NET环境的轻量级的ORM框架。

Newtonsoft.Json:目前.NET开发中最流行的JSON序列化库,为新版的WebApi库提供基础。

Jumony Core:基于.NET开发的HTML引擎。

Orchard:国外有有有有一个MVC开源的博客系统。

Prism:微软开发的针对WPF和Silverlight的MVVM框架,通过功能模块化的思想,来讲繁杂的业务功能和UI耦合性进行分离。

Redis是有有有有一个基于Key-Value对的NoSQL数据库,开发维护很活跃。确实它是有有有有一个Key-Value数据库存储系统,但它某种支持MQ功能,太少太少删改需用当做有有有有一个轻量级的队列服务来使用。对于RabbitMQ和Redis的入队和出队操作,各执行400万次,每115万次记录一次执行时间。测试数据分为128Bytes、512Bytes、1K和10K3个不同大小的数据。实验表明:入队时,当数据比较小时Redis的性能要高于RabbitMQ,而刚刚数据大小超过了10K,Redis则慢的无法忍受;出队时,无论数据大小,Redis都表现出非常好的性能,而RabbitMQ的出队性能则远低于Redis。

Ninject:基于.NET轻量级开源的依赖注入IOC框架

Nunit:有有有有一个轻量级的单元测试框架。

xUnit:比NUnit更好的单元测试框架,升级改进版的Nunit框架。

FluentData:开源的基于Fluent API的链式查询ORM轻量级框架。

Discuz.NET:国内开源的论坛社区系统。

Moq:非常流行的Mock框架,支持LINQ,灵活且高性能。

DataContractJsonSerializer 和 DataContractXmlSerializer:微软在WCF中使用的序列化器。

FluentValidation for .NET:基于LINQ表达式方法链Fluent接口验证组件。

Log4Net.dll:轻量级的免费开源.NET日志记录框架。

KtmIntegration:有有有有一个支持NTFS文件系统的事务开源类。

Scale out:支持在线水平扩展。

AspNetPager:国内知名的ASP.NET分页控件,支持多种分页方法。

SparrowToolkit:一套WPF图表控件集,支持绘制动态曲线,可绘制示波器、CPU使用率和波形。

ExposedObject:在类的内部人员通过动态语言dynamic的方法访问私有成员。

DasBlog:国外有有有有一个基于ASP.NET的博客系统。

NET Transactional File Manager:对文件系统操作(复制、移动和删除)加入事务支持。

ActiveMQ是Apache下的有有有有一个子项目。 这俩于ZeroMQ,它不能以代理人和点对点的技术实现队列。一起这俩于RabbitMQ,它几滴 代码就需用高效地实现高级应用场景。

JavaScriptSerializer:微软默认针对WEB开发者提供的JSON格式化器。

Membase:家族的有有有有一个新的重量级的成员。

Phalanger:将PHP编译成.NET,可实现PHP与.NET互操作。

DevExpress:有有有有一个全球知名的桌面应用守护进程UI控件库。