學習資料,日誌管理(Logging Application Block),數據驗證(Validation Application Block),依賴注入容器(Unity Application Block),快取管理(Caching Application Block),安全管理(Security Application Block),Enterprise Library 5.0,
學習資料
數據訪問(Data Access Application Block)Enterprise Library – Data Access Application Block 學習手冊(最新版)- Part 1
Enterprise Library – Data Access Application Block 學習手冊(最新版)- Part 2
Enterprise Library – Data Access Application Block 學習手冊(最新版)- Part 3
異常管理(Exception Handling Application Block)Enterprise Library - Exception Handling Application Block 學習手冊(最新版)Part 1
Enterprise Library - Exception Handling Application Block 學習手冊(最新版) Part 2
日誌管理(Logging Application Block)
Enterprise Library - Logging Application Block 學習手冊(最新版) Part 1
Enterprise Library - Logging Application Block 學習手冊(最新版) Part 2
Enterprise Library - Logging Application Block 學習手冊(最新版) Part 3
數據驗證(Validation Application Block)
Enterprise Library - Validation Application Block 學習手冊(最新版) Part 1
Enterprise Library - Validation Application Block 學習手冊(最新版) Part 2
Enterprise Library - Validation Application Block 學習手冊(最新版) Part 3
Enterprise Library - Validation Application Block 學習手冊(最新版) Part 4
Enterprise Library - Validation Application Block 學習手冊(最新版) Part 5
Enterprise Library - Validation Application Block 學習手冊(最新版) Part 6
Enterprise Library - Validation Application Block 學習手冊(最新版) Part 7
依賴注入容器(Unity Application Block)
Enterprise Library - Unity Application Block 學習手冊(最新版) Part 1
Enterprise Library - Unity Application Block 學習手冊(最新版) Part 2
Enterprise Library - Unity Application Block 學習手冊(最新版) Part 3
Enterprise Library - Unity Application Block 學習手冊(最新版) Part 4
快取管理(Caching Application Block)
Enterprise Library - Caching Application Block 學習手冊(最新版) Part 1
Enterprise Library - Caching Application Block 學習手冊(最新版) Part 2
Enterprise Library - Caching Application Block 學習手冊(最新版) Part 3
加密/解密(Cryptography Application Block)Enterprise Library - Cryptography Application Block 學習手冊(最新版) Part 1
Enterprise Library - Cryptography Application Block 學習手冊(最新版) Part 2
安全管理(Security Application Block)
Enterprise Library - Security Application Block 學習手冊(最新版) Part 1
Enterprise Library - Security Application Block 學習手冊(最新版) Part 2
目標
Enterprise Library 是一個為了由創建複雜企業級套用的開發人員使用的應用程式塊的集合。這些套用通常部署廣泛且與其他套用和系統相互依賴。另外,他們通常有嚴格的安全、可靠性和性能需求。
Enterprise Library 的目標如下:
一致性。所有應用程式塊都有一致的設計模式和實現方法。
擴展性。所有應用程式塊都定義了擴展點,這些擴展點允許開發人員添加自己的代碼來定製應用程式塊的行為。
易於使用。Enterprise Library 提供了許多易用性的改進,包括圖形配置工具,簡單的安裝過程,以及清晰且更加完整的文檔和示例。
集成。Enterprise Library 被設計為在一起很好的工作,並經過測試確認它們可以做到。當然,單獨使用應用程式塊也是可以的。
優點
應用程式塊幫助解決開發人員所面對的從一個項目到下一個項目中的普通問題。它們被設計成對 Microsoft 推薦的用於 .NET 應用程式的最佳實踐的封裝。也可以很快且容易的添加到.NET應用程式中。例如,數據訪問應用程式塊提供了對最常使用的 ADO.NET 特徵的訪問,通過易用的類來暴露它們。在某些情況下,應用程式塊也加入了不直接受基本類庫支持的功能。
讀者需求
此指南面向的是軟體架構和軟體開發人員。為了從此指南中獲取最大的收益,你需要理解下列知識:
Microsoft Visual C# 或 Microsoft Visual Basic .NET
Microsoft .NET Framework
系統要求
使用 Enterprise Library 開發應用程式,你需要下列系統:
Microsoft Windows XP Professional, Windows Server 2003, 或 Windows Vista operating system
Microsoft .NET Framework 2.0 或 3.0。下列模組需要 .NET Framework 3.0 :
應用程式塊軟體工廠
驗證應用程式塊 Windows Communication Foundation (WCF) 適配器
異常處理應用程式塊 Windows Communication Foundation (WCF) 異常防護功能
Microsoft Visual Studio 2005 開發系統(下列任何版本):
Microsoft Visual Studio 2005 Standard Edition
Microsoft Visual Studio 2005 Professional Edition
Microsoft Visual Studio 2005 Team Edition for Software Developers
Microsoft Visual Studio 2005 Team Edition for Software Testers
Microsoft Visual Studio 2005 Team Edition for Software Architects
Microsoft Visual Studio 2005 Team Suite
需要注意的是,Enterprise Library 包含了單元測試的二進制和原始碼,需要 Visual Studio 2005 Team Edition 或 NUnit 2.2 之一來運行單元測試。對於如何使用單元測試的使用說明,請參見單元測試。如果修改了單元測試的源碼,就需要重新編譯,同樣這也需要 Visual Studio 2005 Team Edition 或 NUnit 2.2。
要使用應用程式塊軟體工廠和強名稱指導包,需要 Microsoft Guidance Automation Extensions (GAX) 。要修改和編譯這些指導包,需要 Microsoft Guidance Automation Toolkit (GAT)。
要使用數據訪問套用塊,需要一個運行受 .NET Framework 2.0 數據提供程式支持的資料庫的資料庫伺服器。這包括 SQL Server 2000 或更新、SQL Server 2005 Compact Edition、Oracle 9i 或更新。資料庫伺服器也可以運行受用於 OLE DB 或 ODBC 的 .NET Framework 2.0 數據提供程式支持的資料庫。
Enterprise Library 3.1(截止2008年6月的最新版本為3.1,4.0正在開發中) 發行包含下列程式塊:
快取應用程式塊。開發人員可以使用這個應用程式塊向應用程式中加入本地快取。
密碼應用程式塊。開發人員可以使用這個應用程式塊向應用程式中加入哈希和對稱加密。
數據訪問應用程式塊。開發人員可以使用這個應用程式塊向應用程式中加入標準資料庫功能。
異常處理應用程式塊。開發人員和決策者可以使用這個應用程式塊創建一個處理髮生穿過企業套用架構層異常的固定策略。
日誌應用程式塊。開發人員可以使用這個應用程式塊在應用程式中包含標準的日誌功能。
安全應用程式塊。開發人員可以使用這個應用程式塊向應用程式中加入授權和安全快取功能。
驗證應用程式塊。開發人員可以用這個應用程式塊為業務對象創建驗證規則,這些規則跨越應用程式不同層。
Enterprise Library 還包括一個核心功能集,包括配置、度量、對象構建服務。這些功能被所有應用程式塊所使用。
Enterprise Library(企業庫) 相關課程:
Enterprise Library系列課程(1):概述
Enterprise Library系列課程(2):配置管理應用程式塊
Enterprise Library系列課程(3):數據訪問應用程式塊
Enterprise Library系列課程(4):安全應用程式庫
Enterprise Library系列課程(5):日誌和監測應用程式塊
Enterprise Library系列課程(6):快取應用程式塊
Enterprise Library系列課程(7):Exception Handling Application Block
Enterprise Library系列課程(8):Cryptography Application Block
Enterprise Library系列課程(9):Building your own application block
微軟經典案例系列課程(5):企業庫在企業應用程式設計中的套用
組合界面應用程式塊
Enterprise Library 5.0
2010年5月份發布。
企業庫5.0是最新的企業庫,最主要的變化之一是實例化和管理對象生命周期的全依賴注入的實現,它是企業庫對象的創建在整個庫中保持一致。能夠使用不同的依賴注入容器。Unity是默認的依賴注入容器。這個版本還增加了套用模組數,另外這個版本能夠使用vs2008和vs2010,以及.net框架4.0和包含sp1的3.5。
主要變化:
Unity和對象生成器的整合
在這個版本中,用於創建對象的基本技術是一個單一的依賴注入容器,默認的是Unity。你可以使用容器生成企業庫對象的實例並注入到其他的對象。 企業庫提供一個標準的接口從Unity容器中來獲得定義在企業庫配置中的對象的實例,如SqlDatabase或LogWriter.另外,注入友好的實例門面處理靜態門面之外是有效的,因為靜態門面不能用注入,但是為了向後兼容以前的版本而存在。在本版本中的示例中都是用依賴注入,但是以前版本中是用的靜態工廠類和靜態門面在這個版本中還是支持的。對象生成器,一個低版本的依賴注入機制在這個版本中被歸入Unity中,在項目中不再需要單獨引用對象生成器集。
支持Unity容器,必須引用一個被包含在企業庫中的Microsoft.Practices.ServiceLocation程式集。如果要使用一個第3方的依賴注入容器,必須直接實現IServiceLocator接口或者通過適配器實現。
影響所有模組的變化:
1.在企業庫中主要修正是使用依賴注入機制。所用的套用模組以及核心繫統都是用依賴注入機制,並使用Unity作為默認的依賴注入容器,來創建和管理企業庫對象。
2,自主容器的實現通過實現Common Service Locator項目提供的 IServiceLocator 接口來完成。
3,由於錯誤配置引發的錯誤將提供更多有用的錯誤信息。
4.配置系統公開了一個 fluent接口,用來為單個對象或整個套用創建和填充配置源。fluent API使得為各種情景創建配置源更加容易。
5.ConfigurationView類被刪除.
6.一些配置元素有默認值,可能不同於以前版本的隱式默認值.
7.企業庫現在允許你通過另一個配置檔案合成一個混合配置檔案.
8.可以可通過不同的配置檔案讀取不同的配置信息.
9.企業庫不支持XAML瀏覽器應用程式(XBAP).
10.WmiEnabled標誌為了像前兼容仍然存在企業庫中,但是在5.0中是被忽略的,而且將來會被刪除.
11.改進式的安裝允許你只安裝部分套用模組及配置工具.
12.在以前版本中要做統一集成,必須添加核心企業庫的擴展和每個模組的擴展。現在如果你只需要直接訪問容器,那么只有核心擴展是必須的。單獨模組將自動支持。
舊的功能為了保持像前兼容仍然保留,但已經不起作用。
13.FileConfigurationSource.Save 的簽名已經改變,參數由3個變為2個。
14.快速入門不再包含在主安裝程式中。
Breaking變化:
1.企業庫現在拋出了一個配置錯誤ActivationException,之前是System.Configuration.ConfigurationErrorsException。這包括試著解決沒有配置信息錯誤的一個實例提供者。
2.以前版本在獲取套用模組錯誤時拋出BuildFailedException錯誤,現在對於所有的套用模組都拋出ActivationException
3 .之前的版本,在講一個空源傳到容器來調用容器的時候,會拋出ArgumentNullException,現在拋出NullReferenceException
4.ObjectBuilder2不再是一個單獨的程式集,而是集成到了Unity集合中,在項目中也不需要引用ObjectBuilder2.dll。
5。WMI支持已經從企業庫中刪除,除了在logging模組中的WMI跟蹤監聽器。
6,如果你沒有關閉DbDataReader,可能會導致隨機的、很難在您的代碼中找到的錯誤,尤其是當你正在一個由TransactionScope上下文創建的隱式事務下操作時。
你必須始終確保您的應用程式及時關閉DbDataReader,無論是明確的DbDataReader.Close方法關閉或是逼迫DbDataReader釋放。
7。如果你使用 validator 特性必須引用 System.ComponentModel.DataAnnotations程式集。
8。為FileConfigurationSource.Save方法簽名已更改。該方法有兩個參數,而不是3個參數
9, Microsoft.Practices.EnterpriseLibrary.Configuration.Design.dll集合的功能和其他設計時集合被一個新的集合Microsoft.Practices.EnterpriseLibrary.Configuration.DesignTime.dll代替。
10,性能計數器異常從PolicyInjection.CallHandlers移到 PolicyInjection 程式集。
11。包含在Policy Injection Application Block中的CachingCallHandler有未處理的安全漏洞,已經從Policy Injection Application Block中移除。
配置工具的改變:
1.新的企業擁有一個新的GUI庫和一個元數據驅動的可擴展性模。
2.支持嚮導
3。新的類型選擇。
4.不支持對依賴策略的Environmental Overrides 。日誌模組處理Categories。
快取模組變化:
1.快取清除已被完全重寫的性能最佳化
資料庫訪問模組:
1。ExecuteReader, ExecuteXmlReader, ExecuteScalar, and ExecuteNonQuery方法具有異步版本。
2.包含了很多新的方法和類允許你提取數據作為對象序列。例如在合適的時候使用客戶端查詢技術,如LINQ.
3.存在的方法ExecuteReader和新的方法BeginExecuteReader不接收CommandBehavior 參數。默認的當調用這些方法的時候這些方法
會自動設定CommandBehavior 屬性到reder中用來關閉連線直到指定一個事務。
異常處理模組:
1.日誌異常處理重新使用日誌模組的Log Writer and Trace Listeners 。這在之前版本中不是默認設定。
2.增加一個功能,通過ExceptionManager.Process 方法接收一個默認值並返回一個值。