总结.NET平台上一些常用的框架

总结.NET平台上一些常用的框架

分布式缓存框架

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

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

Redis:是一个高性能的KV数据库。 它的出现很大程度补偿了Memcached在某些方面的不足。

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

开源的.NET系统推荐:

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

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

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

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

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

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

Do.netnuke.NET:一套非常优秀的基于ASP.NET的开源门户网站程序。

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

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

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

日志记录异常处理:

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

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

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

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

关于NoSQL数据库:

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

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

自动任务调度框架

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

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

依赖注入IOC容器框架:

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

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

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

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

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

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

用的几个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代码,并非采用反射机制。

格式和数据类型转换

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、压缩和优化框架。

反射和动态语言

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

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

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

平台和运行时解决方案

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之上。

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.dll:导出Excel报表的插件(基于微软OpenXml实现)(nopi.css.dl通过css设置样式)

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

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

移动互联网和云计算

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

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

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

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

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

网络通信和网络协议

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

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

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

图形和图像处理框架

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

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

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

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

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

桌面应用程序框架

DevExpress:一个全球知名的桌面应用程序UI控件库。

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

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

测试和性能评估方面

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

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

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

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

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

事务和分布式事务支持

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

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

分词、全文检索和搜索引擎

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

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

数据验证组件整理

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

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

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

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

开源图表统计控件:

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

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

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

 

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

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

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

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

同时支持离线数据处理和实时数据处理。

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

RabbitMQ

RabbitMQ是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正因如此,它非常重量级,更适合于企业级的开发。同时实现了Broker构架,这意味着消息在发送给客户端时先在中心队列排队。对路由,负载均衡或者数据持久化都有很好的支持。

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

ActiveMQ

ActiveMQ是Apache下的一个子项目。 类似于ZeroMQ,它能够以代理人和点对点的技术实现队列。同时类似于RabbitMQ,它少量代码就可以高效地实现高级应用场景。

Kafka/Jafka

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

Redis

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

ZeroMQ

以上就是总结.NET平台上一些常用的框架的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1432475.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 08:07:12
下一篇 2025年12月17日 08:07:42

相关推荐

  • 探究最佳响应式布局框架:竞争激烈!

    响应式布局框架大比拼:谁是最佳选择? 随着移动设备的普及和多样化,网页的响应式布局变得越来越重要。为了满足用户的不同设备和屏幕尺寸,在设计和开发网页时采用响应式布局框架是必不可少的。然而,面对众多的框架选择,我们不禁要问:哪个是最佳选择? 以下将对目前比较流行的三种响应式布局框架进行比较评价,它们分…

    2025年12月24日
    000
  • 深入学习响应式布局框架:适合初学者到专家的详尽指南

    响应式布局框架解析:从初学者到专家的必备指南 随着移动设备的普及和多样化,响应式布局成为了现代Web设计的必备技能。响应式布局框架以其简单、灵活和可维护的特点,成为了开发者们的首选工具。然而,对于初学者来说,学习和理解响应式布局框架可能会感到有些困惑。本文将从初学者到专家,为您提供一个详细的指南,帮…

    2025年12月24日
    000
  • 选择最适合您的响应式布局框架:综合评估不同工具

    响应式设计是指网页可以根据不同设备的屏幕尺寸和分辨率进行自适应的布局,以确保在各种设备上都能提供良好的浏览体验。为了方便开发者实现响应式布局,出现了许多优秀的框架和工具。本文将汇总一些主流的响应式布局框架,并提供具体的代码示例,帮助读者选择最适合自己的工具。 Bootstrap(https://ge…

    2025年12月24日 好文分享
    000
  • 探索五种流行的响应式设计框架

    随着移动设备的广泛应用和互联网的普及,响应式布局已经成为了网页设计的重要概念。响应式布局能够根据用户使用的设备(如手机、平板、电脑等)不同的屏幕尺寸和分辨率,自动适应调整网页的布局和样式,提供更好的用户体验。 为了快速实现响应式布局,开发者可以使用现成的响应式布局框架。这些框架提供了一系列的CSS和…

    2025年12月24日
    000
  • 了解Ajax框架:探索常见的五种框架

    了解Ajax框架:探索常见的五种框架,需要具体代码示例 引言:在现代Web应用开发中,Ajax是必不可少的技术之一。它以其支持异步数据交互,提升用户体验等特点,成为了前端开发中不可或缺的一部分。为了更好地了解和掌握Ajax框架,本文将介绍五种常见的Ajax框架,并提供具体的代码示例,帮助读者深入了解…

    2025年12月24日
    000
  • 解析网页设计中CSS框架和排版的作用与优点

    在如今的网页设计领域,排版和CSS框架扮演着至关重要的角色。而在这种快节奏的工作中,更快速、更高效地完成任务显得尤为关键,这就是排版和CSS框架的优势所在。本文将会探讨如何使用这些工具来优化网页设计,同时提供一些实际的代码篇例,以便读者更好地理解。 一、CSS框架的作用和优势 CSS框架是为了能够更…

    2025年12月24日
    000
  • 揭开提高手机网页开发效率的秘密武器:了解手机CSS框架的全貌

    在如今移动互联网盛行的时代,手机网页开发已经成为一项必要的技能。相比于传统PC端网页,手机网页的开发要面临更多的挑战和限制。因此,使用一些高效的开发工具和技巧可以大大提高开发效率和质量。其中之一就是手机CSS框架。本文将介绍手机CSS框架的基本概念、常用的手机CSS框架以及具体代码示例,希望能对大家…

    2025年12月24日
    000
  • 常见的css框架有哪些

    常见css框架:1、Bootstrap框架;2、Foundation框架,一个专业的前端框架;3、Pure框架,优点是渲染快;4、Skeleton框架;5、99lime HTML KickStart框架,适合网站快速开发;6、Kube框架。 本教程操作环境:windows7系统、CSS3版、Dell…

    2025年12月24日 好文分享
    000
  • 15 个优秀的响应式 Web 设计 HTML 和 CSS 框架

    【推荐教程:CSS视频教程 】 响应式 Web 设计旨在为各种设备(从台式机显示器到手机)提供最佳的浏览体验。本文汇总了一些优秀的响应式 Web 设计 HTML 和 CSS 框架。这些框架都是开源的并免费的。 对响应式 Web 框架进行比较并不那么容易。有的框架适合设计更快、更精简网站的某些功能,而…

    2025年12月24日 好文分享
    000
  • 最受欢迎的10大CSS框架

    web 开发工程师在开发页面样式的时候需要花费大量的时间开发,其中最头疼的还是浏览器的兼容性问题,最省事的是使用 css 框架,幸运的是一些大神编写了一套精美的 css 框架并开源出来,那么有哪些不错的 css 框架呢? 我收集了一些资料和数据来和大家讨论,下面我就说说 Github 上 star …

    好文分享 2025年12月24日
    000
  • jimdo怎么插入html5时间轴_jimdo时间轴html5代码与节点样式【实操】

    Jimdo网站需用自定义HTML5代码实现时间轴:一、内联HTML+CSS轻量嵌入;二、外链CSS+语义化HTML便于复用;三、调用timeline-js-lite库支持交互;四、纯CSS方案零依赖高性能。 如果您希望在 Jimdo 网站中呈现可视化的时间发展脉络,但默认编辑器不支持原生时间轴组件,…

    2025年12月23日
    000
  • visual怎么创建html5_VS新建HTML File选HTML5模板快速创建页面【创建】

    可在Visual Studio中通过新建文件选HTML5模板、新建ASP.NET Core Web App项目或手动创建.html文件并输入及html:5代码段三种方式快速生成HTML5网页。 如果您在 Visual Studio 中需要快速创建一个符合 HTML5 标准的网页文件,则可通过新建项目…

    2025年12月23日
    000
  • jimdo怎么插入html5粒子效果_jimdo粒子效果html5库引入与参数调整【攻略】

    可在Jimdo通过自定义HTML区块引入tsparticles库实现动态粒子效果,或用内联SVG替代;需调整颜色、数量等参数适配主题,并修复脚本加载问题。 如果您希望在 Jimdo 网站中添加动态 HTML5 粒子效果(如背景浮动粒子、鼠标交互连线等),但发现 Jimdo 编辑器默认不支持直接嵌入 …

    2025年12月23日
    000
  • vs.net怎么运行html_vs.net运行html步骤【指南】

    首先创建Web项目或配置外部浏览器预览HTML文件。通过新建ASP.NET项目并添加HTML页面后按Ctrl+F5运行,或安装Live Server等插件实现静态文件实时预览,也可在选项中设置Chrome等外部浏览器直接打开HTML文件以查看效果。 如果您在使用 Visual Studio .NET…

    2025年12月23日
    000
  • vs中如何添加html_VS开发工具中添加HTML文件【工具】

    在 Visual Studio 中添加 HTML 文件需根据项目类型选择方法:一、通过解决方案资源管理器→添加新项→选“HTML 页面”模板;二、手动创建.html文件后通过“显示所有文件”→“包括在项目中”;三、用快捷键Shift+Alt+A快速调出模板;四、若无模板,需通过 Visual Stu…

    2025年12月23日
    000
  • HTML如何弹出提示框_JavaScript交互实现方法【指南】

    JavaScript提供五种弹出提示框方法:alert()显示不可编辑警告;confirm()返回布尔值实现确认交互;prompt()获取用户文本输入;自定义DOM元素实现灵活样式;第三方库如SweetAlert2支持美观异步提示。 如果您希望在网页中向用户显示简短信息、确认操作或获取简单输入,Ja…

    2025年12月23日
    000
  • vs怎么编写并运行html_vs编写并运行html方法【教程】

    Visual Studio中运行HTML的方法包括:1. 创建ASP.NET项目,添加HTML文件并设为起始页,通过IIS Express运行;2. 使用VS Code安装Live Server扩展实现实时预览;3. 直接保存HTML文件后用浏览器手动打开查看效果。 如果您在使用 Visual St…

    2025年12月23日
    000
  • vs如何写html_vs编写html步骤【教程】

    在Visual Studio中编写HTML需依次创建ASP.NET Core Empty项目、添加index.html文件、编辑保存内容、用浏览器预览,并可安装Live Server扩展实现保存即刷新。 如果您希望在 Visual Studio 中编写 HTML 文件,但不确定如何创建项目、添加文件…

    2025年12月23日
    000
  • visal stdio怎么运行html_visual studio运行html步骤【指南】

    首先安装“ASP.NET和Web开发”工作负载,创建或打开项目后添加HTML文件,编写代码并设为起始页,最后按Ctrl+F5通过IIS Express运行,可在浏览器中预览页面效果。 在 Visual Studio 中运行 HTML 文件并不复杂,只要配置正确,可以快速预览网页效果。以下是详细步骤,…

    2025年12月23日
    000
  • html5如何使用视频_在HTML5中嵌入与控制视频播放【播放】

    可使用HTML5的元素嵌入视频并实现播放控制:通过src、controls等属性基础嵌入;用JavaScript调用play()、pause()等方法控制行为;配合autoplay与muted实现自动播放;采用响应式容器适配多屏;监听error事件并用canPlayType()处理兼容性问题。 如果…

    2025年12月23日
    000

发表回复

登录后才能评论
关注微信