ConfigurationBuilder Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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:
- EnvironmentConfigBuilder - Leitura de variáveis de ambiente.
- AzureKeyVaultConfigBuilder - Leitura do Azure Key Vault.
- UserSecretsConfigBuilder - Leitura de um arquivo usersecrets no disco, semelhante à funcionalidade ASP.NET Core.
- SimpleJsonConfigBuilder - Ler de um arquivo JSON.
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) |