一个web.Config或app.Config自定义段configSections的示例
一个web.Config或app.Config自定义段configSections的示例
越来越觉得,直接用配置文件app.Config或web.Config配置应用系统的运行参数,比自己做一个xml配置文件,简洁方便得多。这两个配置文件不仅有常见的connectionStrings和appSettings,给出了数据库连接或常见的名/值表的定义访问方法,而且提供了自定义段configSections,可以自行定义段元素,扩展了appSettings一个段的功能。下面是一个具体的应用实例。
1、配置文件(web.Config或app.Config)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections> <!-- 该元素必须在 appSettings 之前-->
<sectionGroup name="Units">
<section name="国防部" type="System.Configuration.NameValueSectionHandler"/>
<section name="公安部" type="System.Configuration.NameValueSectionHandler"/>
</sectionGroup>
</configSections>
<Units>
<国防部>
<add key="部长名" value="国防部部长"/>
<add key="副部长" value="国防部次长"/>
</国防部>
<公安部>
<add key="部长名" value="公安部部长"/>
<add key="副部长" value="公安部次长"/>
</公安部>
</Units>
<appSettings>
<add key="A1" value="A1Value"/>
<add key="A2" value="A2Value"/>
</appSettings>
</configuration>
需要指出:
- 在configSections中,必须先定义自定义段元素组的组名,即“Units”,然后再定义Units的两个段“国防部”和“公安部”。显然,可以定义段组Units的任意多个段。
- 在配置文件中,configSections元素必须在appSettings元素之前,否则将报访问错误。
2、访问自定义配置节点
NameValueCollection sections = (NameValueCollection)ConfigurationManager.GetSection("Units/国防部");
if (sections != null)
{
for(int k = 0; k < sections.Keys.Count; k++)
{
listBox1.Items.Add(sections.Keys[k] + " " + sections[k]);
}
}
listBox1.Items.Add(ConfigurationManager.AppSettings["A1"]);
listBox1.Items.Add(ConfigurationManager.AppSettings["A2"]);
在代码中,可以直接使用sections["部长名"]、sections["副部长"]的形式获取key的value值,也可以GetSection("Units/公安部")获取"公安部"段的key和value值。
需要指出,在VS 2005的项目中
- 必须添加引用程序集 System.configuration;
- 在名称空间添加 using System.Configuration。
本文配置文件和程序代码在VC# 2005和.NET 2.0环境下的窗体项目中编译通过。可以看出,访问自定义段和appSettings段的访问的几乎没有差别,仍然是简洁与直接的。
一个web.Config或app.Config自定义段configSections的示例的更多相关文章
- 一个web.Config或app.Config自定义段configSections的示例--转
直接用配置文件app.Config或web.Config配置应用系统的运行参数,比自己做一个xml配置文件,简洁方便得多.这两个配置文件不仅有常见的connectionStrings和appSetti ...
- 在Web.config或App.config中的添加自定义配置
.Net中的System.Configuration命名空间为我们在web.config或者app.config中自定义配置提供了完美的支持.最近看到一些项目中还在自定义xml文件做程序的配置,所以忍 ...
- 在Web.config或App.config中的添加自定义配置 <转>
.Net中的System.Configuration命名空间为我们在web.config或者app.config中自定义配置提供了完美的支持.最近看到一些项目中还在自定义xml文件做程序的配置 ...
- 说说Web.Config与App.Config
说到web.config和app.config大家都很熟悉,我们都叫他们配置文件,平时用的多,注意的少.两个有啥区别呢,很简单,一句话:如果是web程序,如webform项目类型和mvc项目类型就是w ...
- .NET下对Web.config与App.Config的增删改操作的代码
把代码过程常用的内容做个收藏,下边代码段是关于 .NET下对Web.config与App.Config的增删改操作的代码. <?xml version="1.0" encod ...
- .net分布在指定文件夹的web.confgi或者app.config
.Net里面,ConfigurationManager默认读取的是Web.config或者App.config但是,什么都放在这两个文件里面,感觉太多了,也不好管理配置.于是参考了下别人的资料,自己写 ...
- 修改和获取web.config或app.config文件appSettings配置节中的Add里的value属性 函数
1: /// <summary> 2: /// 修改web.config或app.config文件appSettings配置节中的Add里的value属性 3: /// </summ ...
- 《RESTful Web APIs》书中有一段POST API示例,现实中我们如何测试这个示例?书中没有说,Let's try it!
<RESTful Web APIs>书中有一段POST API示例: I then send the filled-out template as part of an HTTP POST ...
- 配置文件(Machine.config、Web.config、App.config)
Machine.config1.该文件在Windows目录下\Microsoft.net\framework\[version]\Config\2.为了提高性能,该文件只包含不同于默认值的设置.并且定 ...
随机推荐
- [Functional Programming] Using Last monoid with Maybe
Imaging we have a deck of cards, eveytimes we need to pick one card from deck, the result we want to ...
- Python爬虫实战(三):爬网易新闻
代码: # _*_ coding:utf-8 _*_ import urllib2 import re #import sys #reload(sys) #sys.setdefaultencoding ...
- 使用FractionSlider生成的视差幻灯效果原型
在线演示 本地下载 非常棒的jQuery插件,帮助你创建超酷的视差效果幻灯!
- 关于RF对于不在屏幕内的页面元素的处理办法
1.碰到的问题: 最近在公司用Robot framework+Selenium2Library做项目,碰到部分页面比较长,无法完全显示在屏幕内,需要上下滚动滚动条才能看到下半部分的页面元素.于是呼,问 ...
- Python文本爬虫实战
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/7019950.html 一:流程 目标:爬取目标网页的图片 1:获取网页源码 2:用Python读取源码 3: ...
- Atitit.Guibutton与面板---项目规模的评估----文件数统计,结构,代码行数,每类型文件行数.
Atitit.Guibutton与面板---项目规模的评估----文件数统计,结构,代码行数,每类型文件行数. 1. Kpi::: 代码行数(凝视行数,空白的行数), 方法数,class数 1 2. ...
- 10、java5线程池之返回结果的任务之Callable与Future
JDK文档描述Callable: public interface Callable<V>返回结果并且可能抛出异常的任务.实现者定义了一个不带任何参数的叫做 call 的方法. Calla ...
- [转]文件后缀与Mime类型对照表
//文档文件类型的 .ai application/postscript .eps application/postscript .exe application/octet-stream .doc ...
- linux下挂载VHD等虚拟磁盘文件
1.RAW格式虚拟磁盘 linux下可以直接挂载raw格式的虚拟磁盘镜像文件. 例如,这里先用dd命令创建一个文件,然后将其格式化为ext4格式(只有一个分区),然后挂载到/mnt目录. 下面的raw ...
- 转 error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file
我是今天再用emboss得时候发现出现问题了,再网上搜索了一下,发现有人和我一样得问题,解决得方法是: wget -O /usr/lib64/libmysqlclient.so.15 http://f ...