.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)的框架(一)


分享到:


相關文章: