.NET(C 或者ASP.NET)的框架(一)

.NET(C 或者ASP.NET)的框架(一)

自动任务调度框架

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

Quartz框架的核心是调度器。调度器负责管理Quartz应用运行时环境。调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件。Quartz不仅仅是线程和线程管理。为确保可伸缩性,Quartz采用了基于多线程的架构。启动时,框架初始化一套worker线程,这套线程被调度器用来执行预定的作业。这就是Quartz怎样能并发运行多个作业的原理。Quartz依赖一套松耦合的线程池管理部件来管理线程环境。本篇文章中,我们会多次提到线程池管理,但Quartz里面的每个对象是可配置的或者是可定制的。

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

其优势在于不需要创建windows服务,创建控制台程序就可以。便于调试。

分布式缓存框架:

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

“Velocity”是适用与所有数据源的一个高速、“scalable in-memory ”的缓存,通过使用该缓存,可以减少不必要的数据源访问请求,极大的提高应用程序的性能。通过使用分布试的缓存应用,可以满足吞吐量不断增长的应用程序请求。“Velocity”分布在高速缓存群集中,不需要大量人为干涉,从而减少了负载均衡的复杂度。

“Velocity”以服务形式运行在一个或多Windows服务上,这些服务即为缓存主服务,运行主缓存服务的主机称作缓存服务器。你仍然可以在安装过“Velocity”的主机上运行其它程序,如:Web服务。但一个主机只能安装一个“Velocity”实例。

缓存服务主机与数据源主机最好是在同一个域下,缓存主机服运行在Network Service账户下,缓存主服务上的各种操作用域下的高速缓存认证凭据。“Velocity”使用权限较低的网络服务帐户,可以有效的减少被恶意攻击造成的损害。

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

用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

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

redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。

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

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

常用的几个ORM框架:

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

该框架曾经为.NET Framework的一部分,但version 6之后从.NET Framework分离出来。

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

NHibernate是一个面向.

NET环境的对象/关系数据库映射工具。

对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。

ibatisnet: 是一个类似于 ORM 框架。

其实只是一个SQLMapper,它着重于 ORM 中M(Mapping),提供了较为灵活数据访问和面向对象特性。最初 IBatis 是由 Java 开发的,.Net 版本是从 Java 版本移植而来。

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

你只需要从Nuget上下载AutoMapper的包到你的应用程序里,然后添加对AutoMapper命名空间的引用,然后你就可以在你的项目里随意使用它了。

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

步骤一、创建使用的数据库、数据表与新建Web网站项目。

步骤二、添加SubSonic框架与配置文件。

步骤三、配置SubSonic代码生成器,生成相关类。

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

旨在比大型 ORM(full ORM)更加易用。FluentData 于(2012-02月)推出,它使用 fluent API 并支持 SQL Server、SQL Azure、Oracle 和 MYSQL。

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

轻量。只有一个文件(SqlMapper.cs),编译完成之后只有120k(好象是变胖了)

速度快。Dapper的速度接近与IDataReader,取列表的数据超过了DataTable。

支持多种数据库。Dapper可以在所有Ado.net Providers下工作,包括sqlite, sqlce, firebird, oracle, MySQL, PostgreSQL and SQL Server

可以映射一对一,一对多,多对多等多种关系。

性能高。通过Emit反射IDataReader的序列队列,来快速的得到和产生对象,性能不错。

支持FrameWork2.0,3.0,3.5,4.0,4.5

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

.NET(C 或者ASP.NET)的框架(一)


分享到:


相關文章: