用于创建自定义节处理程序的类
更新:2007 年 11 月
如果现有的配置节都无法满足您的需要,则可以创建自定义节并实现用来读写配置数据的处理程序。该处理程序必须是一个对 ConfigurationSection 类进行扩展的 .NET Framework 类。
说明: |
---|
在 .NET Framework 1.0 和 1.1 版中,配置节处理程序必须实现 IConfigurationSectionHandler 接口,该接口在 .NET Framework 2.0 版中仍受支持,但是已被否决。 |
自定义节处理程序可以通过使用以下两种实现模型的任何一种来实现:编程模型或声明性模型。
编程实现模型
此模型要求您为每个节属性 (Attribute) 创建一个用来获取和/或设置其值的属性 (Property) 并将该属性 (Property) 添加到基础 ConfigurationElement 基类的内部属性集合。
声明性实现模型
此模型又称作属性化模型,使用此模型,可通过使用一个属性 (Property) 并设置多个属性 (Attribute) 来定义节属性 (Attribute)。这些属性 (Attribute) 将属性 (Property) 类型及其默认值通知给 ASP.NET 配置系统。这些信息可通过反射获取,ASP.NET 配置系统使用该信息来创建节属性对象并执行所需的初始化。有关反射的更多信息,请参见反射概述。
用于创建自定义节处理程序的类
下表列出了用来以编程方式创建自定义节处理程序的类。
在每个类主题中,都有使用这两个实现模型中任意一个或者同时使用二者的详细代码示例。另外,您还可以在如何:使用 ConfigurationSection 创建自定义配置节中查看简化的声明性代码示例。
用于实现节处理程序的类 |
说明 |
---|---|
表示配置文件中的节。 使用 ConfigurationSection 可以实现自定义的节处理程序类型。扩展 ConfigurationSection 类,以便对自定义配置节提供自定义处理和编程访问。 节用配置文件的 configSections 元素中的某一项注册其处理类型。 |
|
表示配置文件中的相关节的集合。 使用 ConfigurationSectionCollection 可以创建对 ConfigurationSection 类进行扩展的自定义类型。另外,在通过 ConfigurationSection 对象的集合以编程方式读取配置文件时,也可以使用该类。 |
|
表示配置文件中元素的集合。 使用 ConfigurationElementCollection 可以处理 ConfigurationElement 对象的集合。实现此类,以便将自定义 ConfigurationElement 元素的集合添加到 ConfigurationSection 中。 |
|
表示配置文件中的某个元素。 将 ConfigurationElement 用作表示 XML 配置元素的类(例如,ConfigurationSection)的基类。 可以对 ConfigurationElement 类进行扩展,以便表示 ConfigurationSection 中的配置元素。还可以创建 ConfigurationElement 元素的 ConfigurationElementCollection。每个 ConfigurationElement 对象都为表示其元素属性或子元素集合的 ConfigurationProperty 对象创建一个内部的 ConfigurationPropertyCollection 集合。 |
|
以声明的方式指示 .NET Framework 实例化配置元素的属性集合。 使用 ConfigurationCollectionAttribute 可以向 ConfigurationElementCollection 属性 (Property) 添加多个属性 (Attribute)。这将指示 .NET Framework 实例化该属性并使用自定义的 ConfigurationElement 值初始化它。 |
|
ConfigurationPropertyCollection 类表示可以作为配置元素的属性或 ConfigurationElement 对象的 ConfigurationProperty 对象的集合。 |
|
表示配置元素的一个属性或子级。对于简单的 ConfigurationElement,ConfigurationProperty 对象表示属性。对于更复杂的配置元素(如包含子节的节),ConfigurationProperty 对象可以既表示 ConfigurationElement 对象,还可以表示属性。 ConfigurationProperty 类表示单个配置设置。使用此类,可以获取或设置特定配置实体(属性或元素)的名称、类型和默认值,并指定该属性是否为必需的属性、是否为集合键或者是否表示默认的元素集合。 |
|
以声明的方式指示 .NET Framework 实例化配置元素的属性。 使用 ConfigurationPropertyAttribute 可以修饰配置元素的属性。这将指示 .NET Framework 使用修饰参数的值实例化和初始化该属性。 |
请参见
任务
如何:使用 ConfigurationSection 创建自定义配置节
如何:使用 IConfigurationSectionHandler 创建自定义配置节