Leggi in inglese

Condividi tramite


ConfigurationBuilder Classe

Definizione

Rappresenta la classe di base che deve essere estesa da implementazioni di generatori di configurazioni personalizzate.

C#
public abstract class ConfigurationBuilder : System.Configuration.Provider.ProviderBase
Ereditarietà
ConfigurationBuilder

Esempio

L'esempio seguente illustra come implementare un semplice ConfigurationBuilder per leggere le variabili di ambiente:

C#
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;
    }
}

L'esempio seguente è un estratto del file di configurazione applicato all'esempio precedente. In questo modo si applicano le variabili di ambiente alla configurazione di appSettings e tali valori sono disponibili in ConfigurationManager.AppSettings.

XML
<!-- 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>

Commenti

Derivare da questa classe per leggere la configurazione da un'origine esterna che si vuole usare nell'applicazione .NET Framework usando l'API standard ConfigurationManager . ConfigurationBuilders è disponibile in NuGet.org per leggere dalle variabili di ambiente, dall'insieme di credenziali delle chiavi di Azure e da diverse altre origini.

Sono disponibili diverse implementazioni di ConfigurationBuilders da NuGet.org:

Costruttori

ConfigurationBuilder()

Inizializza una nuova istanza della classe ConfigurationBuilder.

Proprietà

Description

Ottiene una breve descrizione di facile comprensione che è possibile visualizzare in strumenti di amministrazione o in altre interfacce utente (UI, User Interface).

(Ereditato da ProviderBase)
Name

Ottiene il nome descrittivo utilizzato per fare riferimento al provider durante la configurazione.

(Ereditato da ProviderBase)

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
Initialize(String, NameValueCollection)

Inizializza il generatore di configurazione.

(Ereditato da ProviderBase)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ProcessConfigurationSection(ConfigurationSection)

Accetta un oggetto ConfigurationSection dal sistema di configurazione e restituisce un oggetto ConfigurationSection nuovo o modificato per un uso futuro.

ProcessRawXml(XmlNode)

Accetta XmlNode che rappresenta la sezione di configurazione non elaborata di un file di configurazione e restituisce XmlNode modificato o nuovo per usi futuri.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Prodotto Versioni
.NET Framework 4.7.1, 4.7.2, 4.8, 4.8.1