Enterprise Library 2.0 技巧(1):如何使用外部配置文件

摘要:我们知道在Enterprise Library1.1中对于每一个应用程序块都有一个对应的配置文件,而在Enterprise Library2.0中却把所有的配置信息都放在了应用程序配置文件(App.config或Web.config)中,在2.0下,我们如何使用外部配置文件?如何为每个应用程序块创建对应的配置文件?

主要内容

1.不使用外部配置文件

2.使用不同的ConfigurationSource

3.使用多个ConfigurationSource

4.使用.NET的configSource特性

一.不使用外部配置文件

我们先来看一个简单的使用Enterprise Library的例子,在这个示例中,使用了企业库的Data Access Application Block和 Excepiton Handling Application Block。

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;
using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.EnterpriseLibrary.ExceptionHandling;
namespace EntLibConfig
{
  class Program
  {
    static void Main(string[] args)
    {
      try
      {
        Database db = DatabaseFactory.CreateDatabase("EntLibInstance");
        db.ExecuteNonQuery("ProcName");
      }
      catch (Exception ex)
      {
        if (ExceptionPolicy.HandleException(ex, "Event Policy"))
          throw;
      }
    }
  }
}

使用Enterprise Library Configuration配置之后,App.config文件如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <configSections>
  <section name="exceptionHandling" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />
 </configSections>
 <exceptionHandling>
  <exceptionPolicies>
   <add name="Event Policy">
    <exceptionTypes>
     <add type="System.Exception, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
      postHandlingAction="ThrowNewException" name="Exception">
      <exceptionHandlers>
       <add exceptionMessage="This is a test!" replaceExceptionType="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionHandlingException, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"
        type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ReplaceHandler, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"
        name="Replace Handler" />
      </exceptionHandlers>
     </add>
    </exceptionTypes>
   </add>
  </exceptionPolicies>
 </exceptionHandling>
 <dataConfiguration defaultDatabase="EntLibInstance" />
 <connectionStrings>
  <add name="EntLibInstance" connectionString="Server=.\SQLEXPRESS;Integrated Security=SSPI;Database=Northwind;"
   providerName="System.Data.SqlClient" />
 </connectionStrings>
</configuration>
我们知道在EL1.1下,对于不同的应用程序块是放在了不同的配置文件中,而到了2.0中可以看到,所有的配置信息都放在了应用程序配置文件中(App.config或者Web.config)。但是很多时候配置文件中有很多的信息也是我们自己手动添加的,如果这些混合在一起会显得非常混乱,所以我们并不想把所有的配置信息都放在应用程序配置文件中,该如何实现呢?Tom Hollander给了我们几种可行的方案。

时间: 2024-10-31 23:36:23

Enterprise Library 2.0 技巧(1):如何使用外部配置文件的相关文章

Enterprise Library 2.0 技巧(4):如何用编程的方法来配置Logging Applicat

Enterprise Library 2.0 技巧(4):如何用编程的方法来配置Logging Application Block 在本系列的技巧(1)和技巧(2)中分别介绍了使用外部配置文件,使用数据库记录配置信息两种方法,不知道大家有没有想过不使用任何配置文件,也不使用数据库而直接用编程的方法来实现呢?本文将会展示如何使用编程的方法来配置Logging Application Block.首先我们需要了解一下Logging Application Block中比较重要的几个对象: 1.Log

Enterprise Library 2.0 技巧(3):记录ASP.NET站点中未处理的异常

这篇文章不能算是Enterprise Library 2.0的一个技巧,只是Logging Application Block的一个简单应用而已,在这里我们使用Logging Application Block来记录一个ASP.NET 2.0站点中未处理的异常到数据库中,当然你也可以记录到文本文件中,或者发送到指定的Email中,下面看一下具体的实现步骤. 1.创建数据库表和存储过程 在安装目录的src\Logging\TraceListeners\Database\Scripts文件夹下,执行

Enterprise Library 2.0 技巧(2):如何将配置信息保存到数据库中

使用过Enterprise Library的朋友可能都知道,所有的配置信息都是放在了配置文件里面(应用程序配置文件或者外部配置文件),大家有没有想过把配置信息保存到数据库中呢?在Enterprise Library用ConfigurationSource替代了Configuration Application Block,看一下ConfigurationSource的结构图: EL默认的是System Configuration Source,关于如何使用File Configuration S

asp.net(c#)Enterprise Library 3.0 下载_实用技巧

微软今天发布了Enterprise Library 3.0,又有新的东西可以研究了,在Enterprise Library 3.0中包含如下8个应用程序块: l         Caching Application Block l         Cryptography Application Block l         Data Access Application Block l         Exception Handling Application Block l      

Enterprise Library 3.0体验(2):使用Validation Application Block

一.概述 在Enterprise Library 3.0 December 2006 CTP版中,加入了一个新的成员Validation Application Block,用来实现对业务对象的验证.它支持两种方式的验证,通过特性Attribute和通过配置文件,但是在最新版本中并没有提供配置的设计时支持,我们只能通过手动去修改配置文件来实现,所以本文主要看一下通过Attribute来实现验证. 二.通过ValidationFactory创建验证器 Validation Application

Enterprise Library 3.0体验(1):集成VS2005的配置工具和配置区加密支持

一.集成到VS2005中的配置工具 在Enterprise Library 3.0之前的两个版本,配置工具都是作为一个单独的应用程序,我也曾经介绍过一款把Enterprise Library配置工具集成到VS中的插件(Enterprise Library 2.0 插件介绍:Avanade Integration Pack).这次发布的Enterprise Library 3.0直接把配置工具集成在了VS.NET中,可以非常方便的进行应用程序块的配置.安装后,配置文件默认的打开方式就是Enterp

Enterprise Library 2.0 -- Security Application Block

今天来介绍一下Enterprise Library 2.0中的Security Application Block ,它可以帮助程序开发者在应用程序中实现与授权有关的大部分功能,不仅如此,它还支持缓存我们系统中用户的授权以及,授权数据.主要包括一下几个部分的功能: 1.减少代码编写量: 2.保持应用程序中安全管理的一致性: 3.提供了应用程序中很多安全问题的实现方法: 4.可扩展,支持自定义Provider. ... 关于Security Application Block的介绍部分,我不再多说

Enterprise Library 2.0 -- Logging Application Block(补充)

在前面的文章中,有朋友提到我们在实际项目中往往是把一些事件的日志(比如异常)写入到数据库中,这样更方便查看和管理,而在前面的文章中我都是以写入到文本文件为例的,今天这篇文章就算是对前两篇的一个补充,主要来介绍如何将日志信息写入到数据库中,同时也很感谢那位朋友的建议,下面我们进入正题,分为以下几个步骤: 一. 根据Enterprise Library 2.0中将日志写入到数据库中的需要,我们在数据库中添加一张记录日志的表(RX_Log): --日志信息表 create table RX_Log (

Enterprise Library 2.0 -- Logging Application Block(下)

阅读本文之前,请先阅读:Enterprise Library 2.0 -- Logging Application Block (上) 上一篇中我们介绍了如何去配置Logging Application Block,本文将主要介绍Logging Application Block 的基本操作以及Formatter和Trace Listeners 的自定义方法,首先我们来看如何将一个事件日志写入到一个文本文件中. 假设我们按照上一篇的操作配置了Logging Application Block,那