[EntLib]微软企业库 5.0 学习之路——第八步、使用 Conguraon Seng 模块等多种方式分类管理企业库配置信息
在介绍完企业库几个常用模块后,我今天要对企业库的配置文件进行处理,缘由是我打开 web.cong 想进行一些配置的时候发现 web.cong 已经变的异常的臃肿
(大量的企业库配置信息充斥其中),所以决定写这篇关于 Conguration Setting 模块等其他方式分类管理企业库配置信息的文章。
在 ASP.NET4 中微软就帮我们优化过了 web.cong,给了我们一个干净的 web.cong(将原来需要通过 web.cong 注册的程序集、ASP.NET 标签和 handler
等都移至 machine.cong 中)这样大大方便了我们开发人员。
虽然我们通过企业库的配置工具可以很方便的配置企业库信息,但是如果要在 web.cong 中修改其他信息就麻烦了,而且企业库的各模块信息也都在一起不利于日后
的维护,所以我们首先就要把企业库的配置信息给剥离出来,然后再根据各模块分成一个一个独立的.cong 配置文件,统一放在一个文件夹中,这样项目发布后再修
改配置信息时也可以立刻找到需要配置的文件。
分离配置文件的方式主要有 3 种,这 3 种方式各有优势也各有劣势,主要还是看实际如何应用:
1、使用企业库提供的 Conguration Setting(只需配置无需修改代码,分离出的模块无法直接统一查看,只能查看单独模块,推荐)
2、分离出独立 cong 文件或使用编码的形式来读取配置文件(必须编写代码,使用起来较为麻烦,分离出的模块无法直接统一查看只能查看单独模块,不推荐)
3、使用.NET 的 congSource 特性进行配置(无需企业库工具配置,只需分离代码,分离出的模块可以统一查看,但是修改配置文件后所有配置信息又会重新回到
web.cong 中,同时无法修改分离出去的单独配置文件,推荐)
一、使用企业库中默认已经提供了 Conguration Setting 模块来进行配置:
1、首先将各模块的信息先分离成一个一个单独的 cong 文件(包括这个模块的 section 以及具体的配置)如下(Data Access 模块配置文件):
1
2
3
4
5
6
7
8
9
1
0
1
1
1
<?xml version="1.0"?>
<conguration>
<congSections>
<section name="dataConguration"
type="Microsoft.Practices.EnterpriseLibrary.Data.Conguration.DatabaseSettings,
Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
</congSections>
<dataConguration defaultDatabase="EntLibStudy" />
<connectionStrings>
<add name="EntLibStudy" connectionString="server=SQL2005;database=EntLibStudy;Integrated
Security=True;"
providerName="System.Data.SqlClient" />
<add name="EntLibStudySQLite" connectionString="data source=|DataDirectory|EntLibStudySQLite.db3"