1.ConfigurationManager和 WebConfigurationManager类:
 
    使用 ConfigurationManager 类,可以访问计算机和应用程序的配置信息。ConfigurationManager 是处理客户端应用程序配置文件的首选方法;不推荐使用任何其他方法。对于 Web 应用程序,建议使用 WebConfigurationManager 类。
客户端应用程序在客户端计算机上运行,而 Web 应用程序在客户端连接到的服务器计算机上运行。
可以使用内置的 System.Configuration 类型或从它们派生以处理配置信息。通过使用这些类型,可以直接处理配置信息,且能对配置文件进行扩展以包括自定义信息。

ConfigurationManager 类包括可用来执行以下任务的成员。

      从配置文件中读取一个节。若要访问配置信息,请使用 GetSection。对于像 appSettings 和 connectionStrings 这样的一些节,请使用 AppSettings 和 ConnectionStrings 类。上面提到的方法执行只读操作,使用配置的单个缓存实例,并且可识别多线程。

      将配置文件作为一个整体进行读取和写入。应用程序能够读写任何级别的配置设置,不管是自己的还是其他应用程序或计算机的,也不管是本地的还是远程的。使用 ConfigurationManager 类提供的方法之一可打开类似 Myapp.exe.config 这样的配置文件。这些方法返回一个 Configuration 对象,该对象又公开可用于处理关联的配置文件的方法和属性。这些方法执行读取或写入操作,并于每次写入文件时重新创建配置数据。

      支持配置任务。下列类型用于支持各种配置任务:

SectionInformation
PropertyInformation
PropertyInformationCollection
ElementInformation
ContextInformation
ConfigurationSectionGroup
ConfigurationSectionGroupCollection

除了处理现有的配置信息外,还可以通过扩展内置的配置类型(如 ConfigurationElement、ConfigurationElementCollection、ConfigurationProperty 和 ConfigurationSection 类),来创建和处理自定义配置元素。有关如何以编程方式扩展内置配置类型的示例,参见 ConfigurationSection。有关如何使用基于属性的模型扩展内置配置类型的示例,请参见 ConfigurationElement。

Configuration 类允许进行编程访问以编辑配置文件。使用 ConfigurationManager 提供的打开方法中的一种。这些方法返回一个 Configuration 对象,该对象又提供处理基础配置文件所需的方法和属性。可以访问这些文件以便进行读取或写入。 若要读取配置文件,请使用 GetSection 或 GetSectionGroup 读取配置信息。进行读取的用户或过程必须具有下面的权限: 如果应用程序需要对它自己的配置进行只读访问,建议使用 GetSection 方法。此方法提供对当前应用程序的缓存配置值的访问,它的性能比 Configuration 类更好。

2.Configuration 类:

Configuration类实例表示的配置设置的合并视图,这些配置设置适用于特定的物理实体(如计算机)或逻辑实体(如应用程序或网站)。指定的逻辑实体可以存在于本地计算机或远程服务器上。 当某指定的实体没有配置文件时,则 Configuration 对象表示 Machine.config 文件定义的默认配置设置。通过使用该类定义的 Open 配置方法之一,可以获取 Configuration 对象。使用Save方法之一,可以保存Coonfiguration对象的配置信息到磁盘文件中

3. ConfigurationSection 类

    可以使用 ConfigurationSection 实现自定义的节类型。扩展 ConfigurationSection 类,以提供对自定义配置节的自定义处理和编程访问。 所有的默认配置节都由扩展 ConfigurationSection 类的类来表示。

使用 configSections 中的项注册其处理类型。

3.1 ConfigurationSection实现说明:
      可以使用编程或声明性(属性化)代码编写模型创建自定义配置节。

              3.1.1 编程模型。此模型要求为每个节属性 (Attribute) 创建一个用于获取和/或设置其值的属性 (Property),并将其添加 到基础 ConfigurationElement 基类的内部属性 (Property) 包中。

              3.1.2 声明性模型。这种比较简单的模型也称为属性 (Attribute) 化模型,允许您通过使用属性 (Property) 来定义节属性 (Attribute),并使用属性 (Attribute) 对其进行修饰。这些属性 (Attribute) 将属性 (Property) 类型及其默认值通知给配置系统。配置系统将使用通过反射获取的这些信息为您创建节属性 (Property) 对象并执行所需的初始化。

   3.2 Configuration 是允许进行编程访问以编辑配置文件的类。您可以按照以下说明访问这些文件以进行读写操作。
             3.2.1 读取。使用 GetSection 或 GetSectionGroup 读取配置信息。请注意,进行读取操作的用户或进程必须具有以下权限:
      在当前配置层次结构级别下对配置文件的读取权限。
      对所有父级配置文件进行读取的权限。
      如果应用程序需要对其自己的配置进行只读访问,建议对于 Web 应用程序使用 GetSection 重载方法。或使用 GetSection 方法(针对客户端应用程序)。 这些方法可提供对当前应用程序的缓存配置值的访问,且其性能要好于 Configuration 类。
      如果使用带有路径参数的静态 GetSection 方法,则该路径参数必须引用代码正在运行的应用程序,否则,该参数将被忽略,并返回当前正在运行的应用程序的配置信息。
             3.2.2 写入。可使用 Save 方法之一写入配置信息。请注意,进行写入操作的用户或进程必须具有以下权限:
      对当前配置层次结构级别的配置文件和目录的写入权限。
      对所有配置文件的读取权限。

转载于:https://www.cnblogs.com/ycat/archive/2006/08/19/481083.html

System.Configuration命名空间下的关键类相关推荐

  1. java 通过反射得到命名空间_利用反射得到一个命名空间下的所有类,并调用?...

    当年话下 Assembly.LoadFrom("assemblyName").GetTypes();Assembly.Load("assemblyName"). ...

  2. System.Globalization 命名空间

    System.Globalization 命名空间包含定义区域性相关信息的类,这些信息包括语言.国家/地区.使用的日历.日期.货币和数字的格式模式以及字符串的排序顺序.我们可以使用这些类编写全球化(国 ...

  3. System.Configuration.ConfigurationSettings.GetConfig(string)”已过时 问题的解决方法

    在VS 2005中,经常会使用到ConfigurationSettings类来读取应用程序配置文件的信息,以获取数据库连接的字符串,但是,经常会出现如下的错误: 警告"System.Conf ...

  4. python命名空间特性_PHP关键特性之命名空间实例

    PHP关键特性之命名空间实例 //代码会报错,在命名空间内部,假如无法找到当前命名空间下的类,则会报错 //$obj = new ArrayObject(array(1)); $obj = new \ ...

  5. C# 特性 System.ComponentModel 命名空间属性方法大全,System.ComponentModel 命名空间的特性...

    目录: System.ComponentModel 特性命名空间与常用类 System.ComponentModel.DataAnnotations ComponentModel - Classes ...

  6. 【Linux导论】通过图形接口配置系统(System Configuration from the Graphical Interface)

    原文 LFS101x.2 Introduction to Linux (Linux Foundation) Chapter 05: System Configuration from the Grap ...

  7. AOP开发——在不修改源代码的前提下,对类里面的方法进行增强 : 前置 后置 环绕 异常||如何得到目标方法的参数和返回值

    AOP开发 @Transactionl 在不修改源代码的前提下,对类里面的方法进行增强 前置 后置 环绕 异常 创建项目前引入aop的包 <dependency>     <grou ...

  8. 004 关于Java如何扫描指定package下所有的类

    q前言: 在工作中看到这个知识点,就顺便参考了百度的一些资料,整理一下,希望以后用的到. 一:理论部分 1.使用场景 写一个MVC框架,需要从包中扫描出组件并注册到容器中,而JDK没有提供现成的从方法 ...

  9. System Verilog面向对象编程(OPP)基础——类(class)的基本使用

    该文主要是笔者梳理绿皮书对应章节的内容 System Verilog面向对象编程OPP基础--类(class)的基本使用 面向对象编程 概述 考虑名词而非动词 编写第一个类class OOP术语 创建 ...

最新文章

  1. mysql general bin区别_MySQL中几种常见的日志
  2. 网站优化充满机遇和挑战
  3. pointnet分割自己的点云数据_点云学习历史文章大汇总
  4. 打破系统边界,云端协同创新——专访华为云视频架构师 黄挺
  5. windows上运行MapReduce出错(Failed to set permissions of path)
  6. 牛客题霸 [ 环形链表的约瑟夫问题] C++题解/答案
  7. matlab多径信道模型,基于matlab的无线多径信道建模与仿真分析
  8. python的基本数据结构_Python学习笔记——基本数据结构
  9. VTK图形模型主要对象
  10. windows xp虚拟机安装教程
  11. 【优化求解】基于多阶段动态扰动和动态惯性权重的布谷鸟算法实现目标求解附matlab源码
  12. fw325r没有虚拟服务器,FAST FW325R的配置方法教程
  13. 电力-开闭所/配电房/变电所/变电站
  14. ​专科生学习云计算就业前景如何?
  15. 静态路由 直连路由 拓扑
  16. 不同局域网之间socket通信
  17. Qt利用QZXing和QRenCode识别二维码和制作二维码
  18. 测试岗面试,一份好的简历总可以让人眼前一亮
  19. 精灵的移动效果,旋转效果
  20. php去除首尾符号,PHP如何去除头尾字符

热门文章

  1. joc杂志影响因子2019_排名 ‖ 2019年中国体育学期刊影响因子
  2. mysql alter怎么用,mysql alter话语用法
  3. mysql启动时执行sql server_常见 mysql 启动、运行.sql 文件错误处理
  4. python模拟密码有效性检测功能_检查密码有效性(Django/Python)
  5. Linux的md64进程,在Linux上安装Elasticsearch Kibaba.md(示例代码)
  6. Tomcat、JDK 历史版本下载地址
  7. Character.isLetterOrDigit(ch)判断ch是否为字母或数字
  8. Win32高级语法 条件测试语句与分支语句
  9. 山体等高线怎么看_每日一题 | 此处向斜山,你看出来了吗?
  10. kotlin获取属性_Kotlin程序获取系统MAC地址