ConfigurationBuilder Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta la classe di base che deve essere estesa da implementazioni di generatori di configurazioni personalizzate.
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
- Ereditarietà
Esempio
L'esempio seguente illustra come implementare un semplice ConfigurationBuilder per leggere le variabili di 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
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.
<!-- 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:
- EnvironmentConfigBuilder : lettura dalle variabili di ambiente.
- AzureKeyVaultConfigBuilder: lettura da Azure Key Vault.
- UserSecretsConfigBuilder: lettura da un file usersecrets su disco, simile alla funzionalità di ASP.NET Core.
- SimpleJsonConfigBuilder : lettura da un file JSON.
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) |