asp.net(mvc) 框架

1、NFine mvc+ef

2、Grove orm架构

3、NHibernate orm

4、NBear

5、petshop

6、Membership

7、Brnshop 网上商城

8、cms快速开发:http://www.open-open.com/news/view/a90f1

9、c#开源框架:http://www.cnblogs.com/gaoyuchuanIT/articles/5612268.html

 

 

 

来源(转自):http://www.cnblogs.com/zxtceq/p/5867488.html

分布式缓存框架:

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:国外一款免费开源的博客系统。

Dotnetnuke.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构架,这意味着消息在发送给客户端时先在中心队列排队。对路由,负载均衡或者数据持久化都有很好的支持。 Redis Redis是一个基于Key-Value对的NoSQL数据库,开发维护很活跃。虽然它是一个Key-Value数据库存储系统,但它本身支持MQ功能,所以完全可以当做一个轻量级的队列服务来使用。对于RabbitMQ和Redis的入队和出队操作,各执行100万次,每10万次记录一次执行时间。测试数据分为128Bytes、512Bytes、1K和10K四个不同大小的数据。实验表明:入队时,当数据比较小时Redis的性能要高于RabbitMQ,而如果数据大小超过了10K,Redis则慢的无法忍受;出队时,无论数据大小,Redis都表现出非常好的性能,而RabbitMQ的出队性能则远低于Redis。 ZeroMQ 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是一个非常轻量级的消息系统,除了性能非常好之外,还是一个工作良好的分布式系统。

 

转载于:https://www.cnblogs.com/flywing/p/6604142.html

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

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

相关文章

LVM逻辑卷详解及创建

我们先来看一下这张图片:PV: 底层的一个硬盘设备,可以是一个分区,也可能是一个RAID。我们可以把这个块设备创建成一个物理卷格式,即一个PV。VG: 将一个或多个PV提供的存储空间在一个更低的单位上划分成一个个独立的存储单元&#…

python文件操作总结

python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来删除一个文件:os.remove() 删除多个目…

Fread 和fwrite的参数不同,返回值不同

函数fwrite 功能C语言函数,向文件写入一个数据块 。size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);注意:这个函数以二进制形式对文件进行操作,不局限于文本文件返回值:返回实际写入的数据块数目&…

课程简介及算法分析

先学课程 -概率论 运行时间(running time) - 输入(eg 已经排序) - 输入规模(6和6*10^9) 各种各样的分析: - 最坏情况分析(worst case)usually T(n) max time when inp…

利用shell脚本添加环境变量

在shell脚本设置了环境变量,如export LIBRARY_PATH./lib/,执行了此脚本后, 在执行生成的可执行文件,提示错误 error while loading shared libraries: libww.so: cannot open shared object file: No such file or directory 但是如果把expor…

2017 ACM-ICPC西安网赛B-Coin

B-Coin Bob has a not even coin, every time he tosses the coin, the probability that the coins front face up is \frac{q}{p}(\frac{q}{p} \le \frac{1}{2})​p​​q​​(​p​​q​​≤​2​​1​​). The question is, when Bob tosses the coin kktimes, whats the pr…

Java第四次作业

Dog dognew Dog("哈士奇","黑白",2);System.out.println(dog);}}class Dog {private String name;private String color;private int age;public String getName(){return name;}public String getColor(){return color;}public int getAge(){return age;}…

ITU-RBT.656视频标准接口

601是SDTV的数据结构 656是SDTV的interface 709是HDTV的数据结构 1120是HDTV的interface ITU-R BT.601是演播室数字电视编码参数标准,而ITU-R BT.656 则是ITU-R BT.601附件A中的数字接口标准, 用于主要数字视频设备(包括芯片)之间采用27Mhzs并口或243Mb…

C语言博客作业03--函数

1.本章学习总结 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 本周学习了函数,其实,函数于之前学习的三大控制结构是密不可分的,而函数又有其特殊的地方,例如:函数的声明、函数的调用等等。我们之前编写…

Shell记录-Shell命令(其他)

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 .命令格式 top [参数]Shell2.命令功能 显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、…

Insta360:从软到硬,一年做出360°全景相机,中间填了多少坑?

摘要刘靖康在大学就开始创业。在大二的时候他曾经去腾讯实习,然后又去了“超级课程表”这个团队实习半年,2013 年 9 月回到南京创业,一开始的产品叫“名校直播”,是一款围绕院校名师讲座所做的视频直播产品。 不久前,一…

No.10 awk、变量、运算符、if多分支

awk、变量、运算符、if多分支 awk语法 ~ awk -F: {print $3,$4} /etc/passwd //-F指定:分隔符 默认以空格作为分隔符 ~ awk -F: {print &0,NF} //$0打印全部,NF有几段内容 ~ awk -F: {print $NF} /etc/passwd //$NF打印最后一段内容 ~ awk -F: {print NR} /etc/passwd…

什么是自然语言处理技术

自然语言处理(NLP)是计算机科学,人工智能,语言学关注计算机和人类(自然)语言之间的相互作用的领域。自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进…

SDOI2005 区间

题目描述 现给定n个闭区间[ai, bi]&#xff0c;1<i<n。这些区间的并可以表示为一些不相交的闭区间的并。你的任务就是在这些表示方式中找出包含最少区间的方案。你的输出应该按照区间的升序排列。这里如果说两个区间[a, b]和[c, d]是按照升序排列的&#xff0c;那么我们有…

排序: 选择排序

1. 基本原理 将待排序的元素分为已排序(初始为空)和未排序两组&#xff0c;依次将未排序的元素中值最小的元素放入已排序的组中。 直接选择排序简单直观&#xff0c;但性能略差&#xff1b;堆排序是一种较高效的选择排序方法&#xff0c;但实现起来略微复杂。 2. 直接选择排序 …

JavaScript的值传递和引用传递

原文: Explaining Value vs. Reference in Javascript译者: Fundebug为了保证可读性&#xff0c;本文采用意译而非直译。另外&#xff0c;本文版权归原作者所有&#xff0c;翻译仅用于学习。 JavaScript有5种基本的数据类型&#xff0c;分别是&#xff1a;布尔、null、undefine…

全景摄像技术大有可为

网络摄像机发展至今&#xff0c;已经基本满足了“高清”、“日夜监控”、“远距离监控”的需求&#xff0c;但是 随着细分市场的发展&#xff0c;超广角摄像机需求逐渐凸显出来。主要应用在会议室、办公室、大厅/大堂、商场、仓库、车间等大面积开阔的区域&#xff0c;解决原来…

C#编程(五十三)----------字典DictionaryTKey,TValue

字典 关键字:Dicitionary 说明: 必须包含命名空间System.Collection.Generic Dictionary里面的每一个元素都是一个键值对(由两个元组组成:键和值). 键必须是唯一的,而值不需要唯一的. 键和值都可以是任意类型(例如:string,int,自定义类型,等等) 通过一个键读取一个值的事件是接…

setInterval只执行一次的原因

1 setInterval(arrow(),2000) 改为&#xff1a; 1 setInterval(arrow,2000) 原因&#xff1a; arrow()这是一个函数调用&#xff0c;函数调用就会有返回值&#xff0c; 而arrow()没有返回值&#xff0c;所以这里的arrow()是一个undefined&#xff0c;自然你想要的循环执行arrow…

java文件传输之文件编码和File类的使用

---恢复内容开始--- 我们知道&#xff0c;在用户端和服务端之间存在一个数据传输的问题&#xff0c;例如下载个电影、上传个照片、发一条讯息。在这里我们 就说一下文件的传输。 1.文件编码 相信大家小时候玩过积木&#xff08;没玩过也看过吧&#xff09;&#xff0c;看到一个…