ConfigurationBuilder Clase

Definición

Representa la clase base que extenderán las implementaciones del generador de configuración personalizada.Represents the base class to be extended by custom configuration builder implementations.

public ref class ConfigurationBuilder abstract : System::Configuration::Provider::ProviderBase
public abstract class ConfigurationBuilder : System.Configuration.Provider.ProviderBase
type ConfigurationBuilder = class
    inherit ProviderBase
Public MustInherit Class ConfigurationBuilder
Inherits ProviderBase
Herencia
ConfigurationBuilder

Ejemplos

En el ejemplo siguiente se muestra cómo implementar un ConfigurationBuilder simple para leer variables de entorno:The following example shows how to implement a simple ConfigurationBuilder to read Environment variables:

using System;
using System.Configuration;
using System.Xml;

namespace Samples.AspNet.Config
{

   public class SampleConfigurationBuilder : ConfigurationBuilder
    {

        public override XmlNode ProcessRawXml(XmlNode rawXml) 
        {

            string rawXmlString = rawXml.OuterXml;

            if (String.IsNullOrEmpty(rawXmlString)) {
                return rawXml;
            }

            rawXmlString = Environment.ExpandEnvironmentVariables(rawXmlString);

            XmlDocument doc = new XmlDocument();
            doc.PreserveWhitespace = true;
            doc.LoadXml(rawXmlString);
            return doc.DocumentElement;

        }

        public override ConfigurationSection ProcessConfigurationSection(ConfigurationSection configSection) 
            => configSection;

    }

}
Imports System.Configuration
Imports System.Xml

Public Class SampleConfigurationBuilder : Inherits ConfigurationBuilder

    Public Overrides Function ProcessRawXml(rawXml As XmlNode)  As XmlNode

        Dim rawXmlString As String = rawXml.OuterXml

        If String.IsNullOrEmpty(rawXmlString) Then
            Return rawXml
        End If

        rawXmlString = Environment.ExpandEnvironmentVariables(rawXmlString)

        Dim doc As New XmlDocument()
        doc.PreserveWhitespace = True
        doc.LoadXml(rawXmlString)
        Return doc.DocumentElement
    End Function

    Public Overrides Function ProcessConfigurationSection(configSection As ConfigurationSection)  As ConfigurationSection
       Return configSection
    End Function

End Class

El ejemplo siguiente es un extracto del archivo de configuración tal como se aplica al ejemplo anterior.The following example is an excerpt of the configuration file as it applies to the previous example. Esto aplica las variables de entorno a la configuración de appSettings y hace que ConfigurationManager.AppSettingsesos valores estén disponibles en.This applies environment variables to the appSettings configuration and makes those values available under ConfigurationManager.AppSettings.

<!-- To declare and use Configuration Builders in your configuration chain, update your app.config or web.config file as follows:  -->

<configSections>
  <section name="configBuilders" type="System.Configuration.ConfigurationBuildersSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="false" requirePermission="false"/>
</configSections>

<configBuilders>
  <builders>
    <add name="SampleConfigurationBuilder" type="CustomConfigBuilders.MyConfigBuilder, CustomConfigBuilders" />
  </builders>
</configBuilders>

<!-- To apply Configuration Builders to a configuration section, use the 'configBuilders' tag as follows:  -->
<appSettings configBuilders="SampleConfigurationBuilder">
  <add key="COMPUTERNAME" value="Will Be Replaced by EnvironmentVariable" />
</appSettings>

Comentarios

Derive de esta clase para leer la configuración de un origen externo que le gustaría consumir en la aplicación de .NET Framework mediante la API ConfigurationManager estándar.Derive from this class to read configuration from an external source that you would like to consume in your .NET Framework application using the standard ConfigurationManager API. ConfigurationBuilders están disponibles en NuGet.org para leer las variables de entorno, Azure Key Vault y otros orígenes.ConfigurationBuilders are available on NuGet.org to read from environment variables, Azure key vault, and a number of other sources.

Hay varias implementaciones de ConfigurationBuilders disponibles en NuGet.org:Several implementations of ConfigurationBuilders are available from NuGet.org:

Constructores

ConfigurationBuilder()

Inicializa una nueva instancia de la clase ConfigurationBuilder.Initializes a new instance of the ConfigurationBuilder class.

Propiedades

Description

Obtiene una descripción breve y fácil de comprender apropiada para mostrarla en las herramientas administrativas u otras interfaces de usuario.Gets a brief, friendly description suitable for display in administrative tools or other user interfaces (UIs).

(Heredado de ProviderBase)
Name

Obtiene el nombre descriptivo utilizado para hacer referencia al proveedor durante la configuración.Gets the friendly name used to refer to the provider during configuration.

(Heredado de ProviderBase)

Métodos

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
Initialize(String, NameValueCollection)

Inicializa el generador de configuración.Initializes the configuration builder.

(Heredado de ProviderBase)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ProcessConfigurationSection(ConfigurationSection)

Acepta un objeto ConfigurationSection desde el sistema de configuración y devuelve un objeto ConfigurationSection nuevo o modificado para su uso posterior.Accepts a ConfigurationSection object from the configuration system and returns a modified or new ConfigurationSection object for further use.

ProcessRawXml(XmlNode)

Acepta XmlNode que representa la sección de configuración sin procesar de un archivo de configuración y devuelve un elemento XmlNode nuevo o modificado para usarse posteriormente.Accepts an XmlNode representing the raw configuration section from a config file and returns a modified or new XmlNode for further use.

ToString()

Devuelve un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)

Se aplica a