ConfigurationBuilder Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje základní třídu, která má být rozšířena vlastní implementace tvůrce konfigurace.
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
- Dědičnost
Příklady
Následující příklad ukazuje, jak implementovat jednoduchý ConfigurationBuilder pro čtení proměnných prostředí:
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
Následující příklad je výňatek z konfiguračního souboru, který platí pro předchozí příklad. Tím se na konfiguraci appSettings použijí proměnné prostředí a tyto hodnoty zpřístupníte v části 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>
Poznámky
Odvození z této třídy pro čtení konfigurace z externího zdroje, který chcete využívat v aplikaci .NET Framework pomocí standardního ConfigurationManager rozhraní API. ConfigurationBuilders jsou k dispozici na NuGet.org pro čtení z proměnných prostředí, azure key vaultu a řady dalších zdrojů.
Z NuGet.org je k dispozici několik implementací ConfigurationBuilders:
- EnvironmentConfigBuilder – čtení z proměnných prostředí.
- AzureKeyVaultConfigBuilder – Čtení z Azure Key Vault.
- UserSecretsConfigBuilder – čtení ze souboru usersecrets na disku, podobně jako funkce ASP.NET Core.
- SimpleJsonConfigBuilder – čtení ze souboru JSON.
Konstruktory
ConfigurationBuilder() |
Inicializuje novou instanci ConfigurationBuilder třídy . |
Vlastnosti
Description |
Získá stručný popis vhodný pro zobrazení v nástrojích pro správu nebo jiných uživatelských rozhraní (UI). (Zděděno od ProviderBase) |
Name |
Získá popisný název použitý k odkaz na zprostředkovatele během konfigurace. (Zděděno od ProviderBase) |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
Initialize(String, NameValueCollection) |
Inicializuje tvůrce konfigurace. (Zděděno od ProviderBase) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ProcessConfigurationSection(ConfigurationSection) |
ConfigurationSection Přijme objekt z konfiguračního systému a vrátí upravený nebo nový ConfigurationSection objekt pro další použití. |
ProcessRawXml(XmlNode) |
Přijímá soubor XmlNode představující nezpracovaný konfigurační oddíl z konfiguračního souboru a vrací změněný nebo nový XmlNode oddíl pro další použití. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |