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

原文链接: http://www.cnblogs.com/ycat/archive/2006/08/19/481083.html

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

猜你喜欢

转载自blog.csdn.net/weixin_30312659/article/details/94798925