zoukankan      html  css  js  c++  java
  • Enterprise Library 5.0 开发向导 简介(1)

    微软企业库 Enterprise Library 5.0 正式发布!!!

    在基于微软.NET 框架开发的应用程序中,无论是企业级的业务程序,或者是WPF、WCF或者ASP.NET应用程序,你都可以考虑使用Enterprise Library。本系列文章将帮助你快速掌握Enterprise Library 企业库,范例程序的应用,让你在开发中更容易使用Enterprise Library。
     
    你能从Enterprise Library中得到什么?
    Enterprise Library 由一系列Application blocks组成,每一个Application Block是一个可重用的组件,可帮助开发人员解决企业级开发过程中面临的共同挑战。
     
    需要引用的程序集
    在任何使用Enterprise Library的应用程序中,都需要引用如下5个程序集,分别为通用程序集、Unity依赖注入容器、和Service Location程序集。
     Microsoft.Practices.EnterpriseLibrary.Common.dll
     Microsoft.Practices.Unity.dll
     Microsoft.Practices.Unity.Configuration.dll
     Microsoft.Practices.Unity.Interception.dll
     Microsoft.Practices.ServiceLocation.dll
     
    除了必要的程序集之外,你还需要引用程序中使用到的Application blocks程序集。每一个Application block 都有几个程序集。一般而言,包含一个主要的程序集,该程序集和block有相同的名称(如Microsoft.Practices.EnterpriseLibrary.Caching.dll),还有一些额外的程序集,这些程序集实现了特定的handler或者功能。如果你需要使用这些功能时,才需要应用这些额外的程序集。例如,在Caching block中,缓存到数据库,则需要Microsoft.Practices.EnterpriseLibrary.Caching.Database.dll。加密缓存数据,则需要Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography.dll。如果你仅仅在内存中缓存未加密数据,则不必引用这些程序集。
     
    配置 Enterprise Library
    下图显示了Enterprise Library的配置管理界面。
     
    加密配置项
    如下是一个简单的未加密的数据访问块的配置信息。
    <dataConfiguration defaultDatabase="Connection String" />
    <connectionStrings>
    <add name="Connection String"
    connectionString="Database=TheImportantOne; Server=WEHAVELIFTOFF;
    User ID=secret; Password=DontTellNE1"
    providerName="System.Data.SqlClient" />
    </connectionStrings>
     
    当你指定DataProtectionConfigurationProvider 选项时,加密后配置信息如下所示。
    <dataConfiguration
    configProtectionProvider="DataProtectionConfigurationProvider">
    <EncryptedData>
    <CipherData>
    <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAc8HVTgvQB0quQI81ya0uH
    ...
    JyEadytIBvTCbmvXefuN5MWT/T</CipherValue>
    </CipherData>
    </EncryptedData>
    </dataConfiguration>
    <connectionStrings
    configProtectionProvider="DataProtectionConfigurationProvider">
    <EncryptedData>
    <CipherData>
    <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAc8HVTgvQB0quQI81ya0uH
    ...
    zBJp7SQXVsAs=</CipherValue>
    </CipherData>
    </EncryptedData>
    </connectionStrings>
     
    Enterprise Library能够自动解密和读取配置信息,不必我们编写代码来解密。
     
    实例化Enterprise Library 对象
    在多数应用程序中,已经将Enterprise Library 应用程序块优化松散耦合使用组件。一般情况下,你需要使用依赖注入(Dependency Injection)模式来创建组件或façade实例。默认情况下,Enterprise Library 使用Unity 依赖注入容器来注入应用程序配置中的对象。
     
    Unity 是一个轻量级的、灵活的、可配置的、可扩展的依赖注入容器,支持构造函数、属性设置和方法调用注入。为了能有效使用Enterprise Library,你应该熟悉创建Enterprise Library对象的基本方法,和注入Enterprise Library对象到应用程序类和组件。
     
    如果你使用了Enterprise Library 的早期版本,你可能更熟悉之前创建对象的方法。早期的Enterprise Library通常支持或推荐使用静态的façade,或直接实例化Enterprise Library对象。在当前的Enterprise Library 5.0版本中,为了兼容现有的应用程序,仍然支持这些方法,但是不再推荐使用,可能在今后的版本中不支持。
     
  • 相关阅读:
    Largest Rectangle in Histogram, 求矩形图中最大的长方形面积
    MergeSortedArray,合并两个有序的数组
    Remove Duplicates from Sorted List ,除去链表中相邻的重复元素
    Word Search, 在矩阵中寻找字符串,回溯算法
    SubSets,SubSets2, 求数组所有子集
    Longest Substring Without Repeating Characters,求没有重复字符的最长字串
    Minimum Window Substring, 包含子串的最小窗口,双指针
    Sort Colors,颜色排序
    Search a 2D Matrix,在有序矩阵查找,二分查找的变形; 行有序,列有序查找。
    EditDistance,求两个字符串最小编辑距离,动态规划
  • 原文地址:https://www.cnblogs.com/Rising/p/1762806.html
Copyright © 2011-2022 走看看