一个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>

需要指出:

  1. 在configSections中,必须先定义自定义段元素组的组名,即“Units”,然后再定义Units的两个段“国防部”和“公安部”。显然,可以定义段组Units的任意多个段。
  2. 在配置文件中,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段的访问的几乎没有差别,仍然是简洁与直接的。

转载于:https://www.cnblogs.com/kevinGao/p/4188740.html

一个web.Config或app.Config自定义段configSections的示例相关推荐

  1. 在Web.config或App.config中的添加自定义配置

    .Net中的System.Configuration命名空间为我们在web.config或者app.config中自定义配置提供了完美的支持.最近看到一些项目中还在自定义xml文件做程序的配置,所以忍 ...

  2. webconfig的解决方案怎么添加_解决在Web.config或App.config中添加自定义配置的方法详解...

    文档从网络中收集,已重新整理排版 .word 版本可编辑 . 欢迎下载支持 . 1 word 版本可编辑 . 欢迎下载支持 . 解决在 Web.config 或 App.config 中添 加自定义配 ...

  3. How to get Intellisense for Web.config and App.config in Visual Studio .NET?(转载)

    下载:http://files.cnblogs.com/wujm/clrconfig.rar How to install Download the CLRconfigSchema.zip file ...

  4. 在.NET中从app.config或web.config读取设置

    我正在使用一个C#类库,该类需要能够从web.config或app.config文件中读取设置(取决于DLL是从ASP.NET Web应用程序还是Windows Forms应用程序引用的). 我发现 ...

  5. c# 自定义应用程序配置文件(app.config)

    1. 向项目添加app.config文件: 右击项目名称,选择"添加"→"添加新建项",在出现的"添加新项"对话框中,选择"添加应 ...

  6. C# 对WinForm应用程序的App.config的使用及加密

    原文地址:http://blog.163.com/zhou_zzq/blog/static/1019622120137621739874/ 我们在写C#应用程序时,在工程文件中放置一个app.conf ...

  7. 在部署 C#项目时转换 App.config 配置文件

    问题 部署项目时,常常需要根据不同的环境使用不同的配置文件.例如,在部署网站时可能希望禁用调试选项,并更改连接字符串以使其指向不同的数据库.在创建 Web 项目时,Visual Studio 自动生成 ...

  8. 读取并修改App.config文件(转载)

    1. 向项目添加app.config文件: 右击项目名称,选择"添加"→"添加新建项",在出现的"添加新项"对话框中,选择"添加应 ...

  9. App.Config详解

    App.Config详解 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序. 配置文件的根节点是 ...

最新文章

  1. centos oracle命令,CentOS7命令行方式搭建Oracle11gR2
  2. 移动端的推拉效果导航菜单-支持响应式及其多层菜单
  3. linux 脚本 列表,shell -脚本 给出多个数据列表 执行任务
  4. 计算机二级vb电子书教程,计算机二级VB教程
  5. 模糊评价模型-以2018美赛为例
  6. python二级题库(百分之九十原题) 刷题软件推荐 第二套
  7. python 中的 Fraction和GCD求最大公约数
  8. 各操作系统支持图标字体的终端推荐
  9. AUTOSAR MCAL SPI配置
  10. 图片社交php,图像社交时代
  11. EverBox开发笔记-2-iCloud-KeyValueStore
  12. rz命令上传文件乱码,无关be参数
  13. mysql事务的四个特点和实现原理
  14. hacking 麦步手表之(2)命令行编译工程
  15. 6个好用到爆的音频、配乐素材网站,BGM都在这里了
  16. 预测2022年CES科技趋势:元宇宙和NFT引关注
  17. 64位Windows7下TQ2440开发板的环境搭建
  18. 我们爬了上千个数据分析师信息, 你真的懂数据分析师嘛?
  19. 实现点击微信头像实现放大头像、缩放头像、保存头像效果
  20. 用usbtinyisp给atmega8刷bootloader,开启最小系统板

热门文章

  1. 图像也能做情感迁移?罗切斯特大学团队提出计算机视觉新任务
  2. 推荐10款Windows系统必备的高效软件!!!
  3. 从主数据的角度看一个零售ERP系统
  4. GPT-4参数将达10兆!此表格预测全新语言模型参数将是GPT-3的57倍
  5. 国内较强的NLP高校实验室有哪些?
  6. SAP PM入门系列32 - S_ALR_87013432 Display Confirmations
  7. 新上任经理如何带团队
  8. 安防行业巨头都是如何布局无人机的?
  9. 吴恩达等ML大神对话:如何用机器学习应对气候变化 | NeurIPS 2019
  10. AI安防实现单点突破 距全面开花还有多远?