开源ASP.NET电子商务平台 / Enterprise Library 5.0 开发向导- 简介(1)

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版本中,为了兼容现有的应用程序,仍然支持这些方法,但是不再推荐使用,可能在今后的版本中不支持。

posted @ 2010-08-27 23:40  水木  阅读(1299)  评论(0编辑  收藏  举报