Udostępnij za pośrednictwem


ConfigurationBuilder Klasa

Definicja

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
ConfigurationBuilder

Przykłady

W poniższym przykładzie pokazano, jak zaimplementować prosty program ConfigurationBuilder w celu odczytania 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

W tej klasie należy odczytać konfigurację ze źródła zewnętrznego, które ma być używane w aplikacji .NET Framework przy użyciu standardowego ConfigurationManager interfejsu API.

Konstruktory

Nazwa Opis
ConfigurationBuilder()

Inicjuje nowe wystąpienie klasy ConfigurationBuilder.

Właściwości

Nazwa Opis
Description

Pobiera krótki, przyjazny opis odpowiedni do wyświetlania w narzędziach administracyjnych lub innych interfejsach użytkownika.

(Odziedziczone po ProviderBase)
Name

Pobiera przyjazną nazwę używaną do odwoływania się do dostawcy podczas konfiguracji.

(Odziedziczone po ProviderBase)

Metody

Nazwa Opis
Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
Initialize(String, NameValueCollection)

Inicjuje konstruktora konfiguracji.

(Odziedziczone po ProviderBase)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(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 pierwotnej konfiguracji 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)

Dotyczy