Partilhar via


ConfigurationBuilder Classe

Definição

Representa a classe base a ser estendida por implementações de construtor de configuração personalizadas.

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:

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 que se aplica ao exemplo anterior. Isso aplica variáveis de ambiente à configuração appSettings e disponibiliza esses valores em 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 padrãoConfigurationManager. ConfigurationBuilders estão disponíveis em NuGet.org para leitura de variáveis de ambiente, cofre de chaves do Azure e várias outras fontes.

Várias implementações de ConfigurationBuilders estão disponíveis no NuGet.org:

Construtores

ConfigurationBuilder()

Inicializa uma nova instância da classe ConfigurationBuilder.

Propriedades

Description

Obtém uma breve descrição amigável adequada para exibição em ferramentas administrativas ou outras IUs (interfaces do usuário).

(Herdado de ProviderBase)
Name

Obtém o nome amigável usado para referir-se ao provedor durante a configuração.

(Herdado de ProviderBase)

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Initialize(String, NameValueCollection)

Inicializa o construtor de configuração.

(Herdado de ProviderBase)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(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.

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.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a