ConfigurationBuilder Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt die Basisklasse dar, die durch benutzerdefinierte Konfigurationsgeneratorimplementierungen erweitert werden soll.
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
- Vererbung
Beispiele
Im folgenden Beispiel wird gezeigt, wie Sie eine einfache ConfigurationBuilder-Methode implementieren, um Umgebungsvariablen zu lesen:
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
Im folgenden Beispiel handelt es sich um einen Auszug der Konfigurationsdatei, da sie auf das vorherige Beispiel angewendet wird. Dies wendet Umgebungsvariablen auf die AppSettings-Konfiguration an und stellt diese Werte unter ConfigurationManager.AppSettingszur Verfügung.
<!-- 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>
Hinweise
Ableiten von dieser Klasse zum Lesen der Konfiguration aus einer externen Quelle, die Sie in Ihrer .NET Framework Anwendung mithilfe der Standard-API ConfigurationManager nutzen möchten. ConfigurationBuilders sind auf NuGet.org verfügbar, um von Umgebungsvariablen, Azure Key Vault und einer Reihe anderer Quellen zu lesen.
Mehrere Implementierungen von ConfigurationBuilders stehen von NuGet.org zur Verfügung:
- EnvironmentConfigBuilder – Aus Umgebungsvariablen lesen.
- AzureKeyVaultConfigBuilder – Von Azure Key Vault gelesen.
- UserSecretsConfigBuilder – Von einer Benutzerecrets-Datei auf dem Datenträger gelesen, ähnlich wie die ASP.NET Core Funktionalität.
- SimpleJsonConfigBuilder – Aus einer JSON-Datei lesen.
Konstruktoren
ConfigurationBuilder() |
Initialisiert eine neue Instanz der ConfigurationBuilder-Klasse. |
Eigenschaften
Description |
Ruft eine kurze, benutzerfreundliche Beschreibung ab, die für die Anzeige in Verwaltungstools oder anderen Benutzeroberflächen geeignet ist. (Geerbt von ProviderBase) |
Name |
Ruft den Anzeigennamen ab, der verwendet wird, um während der Konfiguration auf den Anbieter zu verweisen. (Geerbt von ProviderBase) |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
Initialize(String, NameValueCollection) |
Initialisiert den Konfigurations-Generator. (Geerbt von ProviderBase) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ProcessConfigurationSection(ConfigurationSection) |
Nimmt ein ConfigurationSection-Objekt vom Konfigurationssystem an und gibt ein modifiziertes oder neues ConfigurationSection-Objekt für den weiteren Gebrauch zurück. |
ProcessRawXml(XmlNode) |
Akzeptiert einen XmlNode, der den rohen Konfigurationsabschnitt aus einer Konfigurationsdatei darstellt und einen veränderten oder neuen XmlNode für den weiteren Gebrauch zurückgibt. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |