配置文件,怎么读??

来源:互联网 发布:生活 知乎 编辑:程序博客网 时间:2024/04/23 20:22

在用.NET 做机房系统时,遇到了配置文件.config文件,不太懂什么意思,就照葫芦画瓢,自己建立一个.config文件来存放自己的东西,可是到了实现阶段,出问题了,我的配置文件,没有被读取。

经过各种实践,终于把我自定义的配置文件里的参数放到系统默认的app.config文件中,就可以用了。

以为,一个项目只可以有一个配置文件,可是为什么我的其他程序集中也可以建立.config 文件呢??

 有很多人在使用config文件都是直接使用appSetting的,把所有的配置参数全都塞到那里,这样做虽然不错,但是如果参数过多,这种做法的缺点也会明显地暴露出来:appSetting中的配置参数项只能按key名来访问,不能支持复杂的层次节点也不支持强类型,而且由于全都只使用这一个集合,你会发现:完全不相干的参数也要放在一起!在网上搜到了一些方法

自定义配置节点

首先,我们来看一下如何在app.config中增加一个自定义的配置节点。最终的配置文件如下:

 

<?xml version="1.0" encoding="utf-8" ?><configuration>    <configSections>        <section name="MySection111" type="RwConfigDemo.MySection1, RwConfigDemo" />        <section name="MySection222" type="RwConfigDemo.MySection2, RwConfigDemo" />        <section name="MySection333" type="RwConfigDemo.MySection3, RwConfigDemo" />        <section name="MySection444" type="RwConfigDemo.MySection4, RwConfigDemo" />    </configSections>    <MySection111 username="fish-li" url="http://www.cnblogs.com/fish-li/"></MySection111>    <MySection222>        <users username="fish" password="liqifeng"></users>    </MySection222>    <MySection444>        <add key="aa" value="11111"></add>        <add key="bb" value="22222"></add>        <add key="cc" value="33333"></add>    </MySection444>    <MySection333>        <Command1>            <![CDATA[                create procedure ChangeProductQuantity(                    @ProductID int,                    @Quantity int                )                as                update Products set Quantity = @Quantity                 where ProductID = @ProductID;            ]]>        </Command1>        <Command2>            <![CDATA[                create procedure DeleteCategory(                    @CategoryID int                )                as                delete from Categories                where CategoryID = @CategoryID;            ]]>        </Command2>    </MySection333>    </configuration>


自定义配置文件 

又说回来,我自定义的配置文件为什么么有被读取,这就涉及到了文件的读取了。

如果我们不给程序设定路径的话,默认读取的系统的app.config 文件,所以我们自定义的配置文件没有被读取。

要想让自己的配置文件被读取,就需要设置文件的读取路径。

.net有一个ConfigurationManager类可以方面的读取默认的配置文件,如果要读取自定义配置文件,这个类也提供了方法,如下所示:

var configMap = new ExeConfigurationFileMap { ExeConfigFilename = configFile };   var config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);   var configurationSection = config.GetSection(sectionName);

 

配置文件的种类

其实配置文件不一定就是.config 。 也可以用一个记事本,或者是XML 来写。只要我们给出合理的读取路径,就可以把我们需要的信息读取进去。(未完,待续)

 详细博文地址:http://wyx-921.blog.163.com/blog/static/197369279201312894216590/

 

原创粉丝点击