程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> Enterprise Library 2.0 技巧(1):如何使用外部配置文件

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

編輯:關於ASP.NET

摘要:我們知道在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給了我們幾種可行的方案。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved