Partage via


ConfigurationBuilder Classe

Définition

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
ConfigurationBuilder

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 :

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)

S’applique à