ConfigurationBuilder Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje klasę bazową, która ma zostać rozszerzona przez niestandardowe implementacje konstruktora konfiguracji.
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
- Dziedziczenie
Przykłady
W poniższym przykładzie pokazano, jak zaimplementować prosty program ConfigurationBuilder do odczytywania zmiennych środowiskowych:
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
Poniższy przykład to fragment pliku konfiguracji, który ma zastosowanie do poprzedniego przykładu. Dotyczy to zmiennych środowiskowych konfiguracji appSettings i udostępnia te wartości w obszarze 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>
Uwagi
Pochodzi z tej klasy, aby odczytać konfigurację ze źródła zewnętrznego, które chcesz używać w aplikacji .NET Framework przy użyciu standardowego ConfigurationManager interfejsu API. Konstruktory konfiguracji są dostępne w NuGet.org do odczytu ze zmiennych środowiskowych, magazynu kluczy platformy Azure i wielu innych źródeł.
Kilka implementacji programu ConfigurationBuilders jest dostępnych w NuGet.org:
- EnvironmentConfigBuilder — odczyt ze zmiennych środowiskowych.
- AzureKeyVaultConfigBuilder — odczyt z usługi Azure Key Vault.
- UserSecretsConfigBuilder — odczyt z pliku usersecrets na dysku, podobnie jak w przypadku funkcji ASP.NET Core.
- SimpleJsonConfigBuilder — odczyt z pliku JSON.
Konstruktory
ConfigurationBuilder() |
Inicjuje nowe wystąpienie klasy ConfigurationBuilder. |
Właściwości
Description |
Pobiera krótki, przyjazny opis odpowiedni do wyświetlania w narzędziach administracyjnych lub innych interfejsach użytkownika (UI). (Odziedziczone po ProviderBase) |
Name |
Pobiera przyjazną nazwę używaną do odwoływania się do dostawcy podczas konfiguracji. (Odziedziczone po ProviderBase) |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
Initialize(String, NameValueCollection) |
Inicjuje konstruktora konfiguracji. (Odziedziczone po ProviderBase) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ProcessConfigurationSection(ConfigurationSection) |
ConfigurationSection Akceptuje obiekt z systemu konfiguracji i zwraca zmodyfikowany lub nowy ConfigurationSection obiekt do dalszego użycia. |
ProcessRawXml(XmlNode) |
Akceptuje sekcję XmlNode konfiguracji pierwotnej z pliku konfiguracji i zwraca zmodyfikowany lub nowy XmlNode do dalszego użycia. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |