首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 图形图象-> AutoCad教程
自定义应用程序配置文件(app.config)-.NET教程,评论及其它
作者:网友供稿 点击:147
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
1.        配置文件概述:
应用程序配置文件是标准的 xml 文件,xml 标记和属性是区分大小写的。它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序。配置文件的根节点是configuration。我们经常访问的是appsettings,它是由.net预定义配置节。我们经常使用的配置文件的架构是象下面的形式。先大概有个印象,通过后面的实例会有一个比较清楚的认识。下面的“配置节”可以理解为进行配置一个xml的节点。

 常见配置文件模式:
<configuration>
        <configsections>    //配置节声明区域,包含配置节和命名空间声明
                <section>              //配置节声明
             <sectiongroup>       //定义配置节组
                  <section>       //配置节组中的配置节声明
        <appsettings> //预定义配置节
        <custom element for configuration section>  //配置节设置区域

 2.        只有appsettings节的配置文件及访问方法

下面是一个最常见的应用程序配置文件的例子,只有appsettings节。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <appsettings>
        <add key="connectionstring" value="user id=sa;data source=.;password=;initial catalog=test;provider=sqloledb.1;" />
        <add key="templatepath" value="template" />
    </appsettings>
</configuration>

下面来看看这样的配置文件如何方法。

string _connectionstring=configurationsettings.appsettings["connectionstring"];

使用configurationsettings类的静态属性appsettings就可以直接方法配置文件中的配置信息。这个属性的类型是namevaluecollection。

 3.        自定义配置文件
3.1 自定义配置节

一个用户自定义的配置节,在配置文件中分为两部分:一是在<configsections></ configsections>配置节中声明配置节(上面配置文件模式中的“<section>”),另外是在<configsections></ configsections >之后设置配置节(上面配置文件模式中的“<custom element for configuration section>”),有点类似一个变量先声明,后使用一样。声明一个配置文件的语句如下:

 <section name=" " type=" "/>
<section>:声明新配置节,即可创建新配置节。

name:自定义配置节的名称。

type:自定义配置节的类型,主要包括system.configuration.singletagsectionhandler、system.configuration.dictionarysectionhandler、system.configuration.namevaluesectionhandler。

不同的type不但设置配置节的方式不一样,最后访问配置文件的操作上也有差异。下面我们就举一个配置文件的例子,让它包含这三个不同的type。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configsections>
        <section name="test1" type="system.configuration.singletagsectionhandler"/>
        <section name="test2" type="system.configuration.dictionarysectionhandler"/>
        <section name="test3" type="system.configuration.namevaluesectionhandler" />
    </configsections>
   
    <test1 setting1="hello" setting2="world"/>
    <test2>
        <add key="hello" value="world" />
    </test2>
    <test3>
        <add key="hello" value="world" />
    </test3>   
</configuration>

我们对上面的自定义配置节进行说明。在声明部分使用<section name="test1" type="system.configuration.singletagsectionhandler"/>声明了一个配置节它的名字叫test1,类型为singletagsectionhandler。在设置配置节部分使用     <test1 setting1="hello" setting2="world"/>设置了一个配置节,它的第一个设置的值是hello,第二个值是world,当然还可以有更多。其它的两个配置节和这个类似。
下面我们看在程序中如何访问这些自定义的配置节。我们用过configurationsettings类的静态方法getconfig来获取自定义配置节的信息。

public static object getconfig(string sectionname);

下面是访问这三个配置节的代码:

            //访问配置节test1
            idictionary idtest1 = (idictionary)configurationsettings.getconfig("test1");
            string str = (string)idtest1["setting1"] +" "+(string)idtest1["setting2"];
            messagebox.show(str);        //输出hello world

            //访问配置节test1的方法2
            string[] values1=new string[idtest1.count];
            idtest1.values.copyto(values1,0);
            messagebox.show(values1[0]+" "+values1[1]);    //输出hello world
           
            //访问配置节test2
            idictionary idtest2 = (idictionary)configurationsettings.getconfig("test2");
            string[] keys=new string[idtest2.keys.count];
            string[] values=new string[idtest2.keys.count];
            idtest2.keys.copyto(keys,0);
            idtest2.values.copyto(values,0);
            messagebox.show(keys[0]+" "+values[0]);
           
            //访问配置节test3
            namevaluecollection nc=(namevaluecollection)configurationsettings.getconfig("test3");
            messagebox.show(nc.allkeys[0].tostring()+" "+nc["hello"]);    //输出hello world

通过上面的代码我们可以看出,不同的type通过getconfig返回的类型不同,具体获得配置内容的方式也不一样。 配置节处理程序
 返回类型
 
singletagsectionhandler
 systems.collections.idictionary
 
dictionarysectionhandler
 systems.collections.idictionary
 
namevaluesectionhandler
 systems.collections.specialized.namevaluecollection
 

  3.2 自定义配置节组
配置节组是使用<sectiongroup>元素,将类似的配置节分到同一个组中。配置节组声明部分将创建配置节的包含元素,在<configsections>元素中声明配置节组,并将属于该组的节置于<sectiongroup>元素中。下面是一个包含配置节组的配置文件的例子:

 

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configsections>
        <sectiongroup name="testgroup">
            <section name="test" type="system.configuration.namevaluesectionhandler"/>
        </sectiongroup>
    </configsections>
   
    <testgroup>
        <test>
            <add key="hello" value="world"/>
        </test>
    </testgroup>
</configuration>
 下面是访问这个配置节组的代码:
            namevaluecollection nc=(namevaluecollection)configurationsettings.getconfig("testgroup/test");
            messagebox.show(nc.allkeys[0].tostring()+" "+nc["hello"]);    //输出hello world


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·如何在C#中实现图片缩放-.NET教程,C#语言
·怎样实施综合布线系统工程的监理
·分享:梅花雨日历控件2.02版-网页设计,HTML/CSS
·标准 DateTime 格式字符串-.NET教程,数据库应用
·如何显示在线人数和所在位置-ASP教程,ASP应用
·如何在 vim 中更好的编辑 java 文件-JSP教程,Java技巧及代码
·J2ME手机游戏开发日记1-JSP教程,J2ME开发
·发布攻击台湾国旗设计网的ASP代码-ASP教程,ASP应用
·各种数字类型转换成字符串型--JAVA-JSP教程,Java技巧及代码
·自定义应用程序配置文件(app.config)-.NET教程,评论及其它
最新文章
·photoshop写真鼠绘实例:掰开的桔子_photoshop教程
·用photoshop去除红眼并修正眼球颜色_photoshop教程
·如何提高google adsense单价:点击率篇_网赚技巧
·google adsense投放增加防垃圾网站功能_网赚技巧
·悠视网ceo李竹:两年内国内视频网站将淘汰99%_站长访谈
·泡泡网ceo 李想:从才到财的非常转变_站长访谈
·给新入行的个人站长10点建议_站长心得
·关于google sitemap的几点认识_google推广
·google adsense 广告功略及〖google 广告三定理〗_google推广
·网站推广:论坛宣传方法细化_网站推广
相关主题
  • 自定义应用程序配置文件(app.config)_c#应用
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭