ConfigurationBuilder Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente la classe de base à étendre par des implémentations de générateur de configuration personnalisées.
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
- Héritage
Exemples
L’exemple suivant montre comment implémenter un simple ConfigurationBuilder pour lire les variables d’environnement :
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
L’exemple suivant est un extrait du fichier de configuration tel qu’il s’applique à l’exemple précédent. Cela applique des variables d’environnement à la configuration appSettings et rend ces valeurs disponibles sous 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>
Remarques
Dérivez de cette classe pour lire la configuration à partir d’une source externe que vous souhaitez utiliser dans votre application .NET Framework à l’aide de l’API standard ConfigurationManager . ConfigurationBuilders est disponible sur NuGet.org pour lire à partir de variables d’environnement, d’Azure Key Vault et d’un certain nombre d’autres sources.
Plusieurs implémentations de ConfigurationBuilders sont disponibles à partir de NuGet.org :
- EnvironmentConfigBuilder : lecture à partir de variables d’environnement.
- AzureKeyVaultConfigBuilder : lecture à partir d’Azure Key Vault.
- UserSecretsConfigBuilder : lecture à partir d’un fichier usersecrets sur disque, similaire à la fonctionnalité ASP.NET Core.
- SimpleJsonConfigBuilder : lecture à partir d’un fichier JSON.
Constructeurs
ConfigurationBuilder() |
Initialise une nouvelle instance de la classe ConfigurationBuilder. |
Propriétés
Description |
Obtient une description brève et conviviale qui peut s'afficher dans les outils d'administration ou d'autres interfaces utilisateur. (Hérité de ProviderBase) |
Name |
Obtient le nom convivial qui référence le fournisseur au cours de la configuration. (Hérité de ProviderBase) |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
Initialize(String, NameValueCollection) |
Initialise le générateur de configuration. (Hérité de ProviderBase) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ProcessConfigurationSection(ConfigurationSection) |
Accepte un objet ConfigurationSection à partir du système de configuration et retourne un objet ConfigurationSection nouveau ou modifié pour une utilisation ultérieure. |
ProcessRawXml(XmlNode) |
Accepte un XmlNode représentant la section de configuration brute d’un fichier de configuration, et retourne un XmlNode nouveau ou modifié pour une utilisation ultérieure. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |