ConfigurationBuilder Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa la clase base que extenderán las implementaciones del generador de configuración personalizada.
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
Ejemplos
En el ejemplo siguiente se muestra cómo implementar un configurationBuilder sencillo para leer variables de entorno:
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 y como se aplica al ejemplo anterior. Esto aplica variables de entorno a la configuración de appSettings y hace que esos valores estén disponibles en 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 estándar ConfigurationManager . ConfigurationBuilders está disponible en NuGet.org para leer las variables de entorno, el almacén de claves de Azure y otros orígenes.
Hay varias implementaciones de ConfigurationBuilder disponibles en NuGet.org:
- EnvironmentConfigBuilder : lectura de variables de entorno.
- AzureKeyVaultConfigBuilder: lectura de Azure Key Vault.
- UserSecretsConfigBuilder: lectura de un archivo usersecrets en el disco, similar a la funcionalidad de ASP.NET Core.
- SimpleJsonConfigBuilder : lectura de un archivo JSON.
Constructores
ConfigurationBuilder() |
Inicializa una nueva instancia de la clase ConfigurationBuilder. |
Propiedades
Description |
Obtiene una descripción breve y fácil de comprender apropiada para mostrarla en las herramientas administrativas u otras interfaces de usuario. (Heredado de ProviderBase) |
Name |
Obtiene el nombre descriptivo utilizado para hacer referencia al proveedor durante la configuración. (Heredado de ProviderBase) |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
Initialize(String, NameValueCollection) |
Inicializa el generador de configuración. (Heredado de ProviderBase) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (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. |
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. |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |