ConfigurationBuilder Classe

Definição

Representa a classe base a ser estendida por implementações de construtor de configuração personalizadas.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
Herança
ConfigurationBuilder

Exemplos

O exemplo a seguir mostra como implementar um ConfigurationBuilder simples para ler variáveis de ambiente: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

O exemplo a seguir é um trecho do arquivo de configuração como ele se aplica ao exemplo anterior.The following example is an excerpt of the configuration file as it applies to the previous example. Isso aplica variáveis de ambiente à configuração appSettings e torna esses valores disponíveis em ConfigurationManager.AppSettings.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>

Comentários

Derive dessa classe para ler a configuração de uma fonte externa que você gostaria de consumir em seu aplicativo .NET Framework usando a API ConfigurationManager padrão.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ão disponíveis em NuGet.org para ler de variáveis de ambiente, Azure Key Vault e várias outras fontes.ConfigurationBuilders are available on NuGet.org to read from environment variables, Azure key vault, and a number of other sources.

Várias implementações do ConfigurationBuilders estão disponíveis em NuGet.org:Several implementations of ConfigurationBuilders are available from NuGet.org:

Construtores

ConfigurationBuilder()

Inicializa uma nova instância da classe ConfigurationBuilder.Initializes a new instance of the ConfigurationBuilder class.

Propriedades

Description

Obtém uma breve descrição amigável adequada para exibição em ferramentas administrativas ou outras IUs (interfaces do usuário).Gets a brief, friendly description suitable for display in administrative tools or other user interfaces (UIs).

(Herdado de ProviderBase)
Name

Obtém o nome amigável usado para referir-se ao provedor durante a configuração.Gets the friendly name used to refer to the provider during configuration.

(Herdado de ProviderBase)

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
Initialize(String, NameValueCollection)

Inicializa o construtor de configuração.Initializes the configuration builder.

(Herdado de ProviderBase)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ProcessConfigurationSection(ConfigurationSection)

Aceita um objeto ConfigurationSection do sistema de configuração e retorna um objeto ConfigurationSection novo ou modificado para uso posterior.Accepts a ConfigurationSection object from the configuration system and returns a modified or new ConfigurationSection object for further use.

ProcessRawXml(XmlNode)

Aceita um XmlNode que representa a seção de configuração bruta de um arquivo de configuração e retorna um XmlNode novo ou modificado para uso posterior.Accepts an XmlNode representing the raw configuration section from a config file and returns a modified or new XmlNode for further use.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Aplica-se a