ConfigurationBuilder Класс

Определение

Представляет базовый класс, расширяемый пользовательскими реализациями построителя конфигурации.Represents the base class to be extended by custom configuration builder implementations.

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
Наследование
ConfigurationBuilder

Примеры

В следующем примере показано, как реализовать простой ConfigurationBuilder для чтения переменных среды:The following example shows how to implement a simple ConfigurationBuilder to read Environment variables:

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

Следующий пример является выдержкой из файла конфигурации, так как он применяется к предыдущему примеру.The following example is an excerpt of the configuration file as it applies to the previous example. Это применяет переменные среды к конфигурации appSettings и делает эти значения доступными ConfigurationManager.AppSettingsв.This applies environment variables to the appSettings configuration and makes those values available under 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>

Комментарии

Используйте класс, производный от этого класса, для считывания конфигурации из внешнего источника, который вы хотели бы использовать в приложении .NET Framework ConfigurationManager , используя стандартный API.Derive from this class to read configuration from an external source that you would like to consume in your .NET Framework application using the standard ConfigurationManager API. ConfigurationBuilders доступны в NuGet.org для чтения из переменных среды, хранилища ключей Azure и ряда других источников.ConfigurationBuilders are available on NuGet.org to read from environment variables, Azure key vault, and a number of other sources.

В NuGet.org доступны несколько реализаций ConfigurationBuilders:Several implementations of ConfigurationBuilders are available from NuGet.org:

Конструкторы

ConfigurationBuilder()

Инициализирует новый экземпляр класса ConfigurationBuilder.Initializes a new instance of the ConfigurationBuilder class.

Свойства

Description

Возвращает краткое, понятное описание, подходящее для отображения в инструментах администрирования или других пользовательских интерфейсах (UI).Gets a brief, friendly description suitable for display in administrative tools or other user interfaces (UIs).

(Унаследовано от ProviderBase)
Name

Возвращает понятное имя, используемое для ссылки на поставщика во время конфигурирования.Gets the friendly name used to refer to the provider during configuration.

(Унаследовано от ProviderBase)

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
Initialize(String, NameValueCollection)

Инициализирует построитель конфигураций.Initializes the configuration builder.

(Унаследовано от ProviderBase)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ProcessConfigurationSection(ConfigurationSection)

Принимает объект ConfigurationSection из системы конфигурации и возвращает измененный или новый объект ConfigurationSection для дальнейшего использования.Accepts a ConfigurationSection object from the configuration system and returns a modified or new ConfigurationSection object for further use.

ProcessRawXml(XmlNode)

Принимает XmlNode, представляющий необработанный раздел конфигурации из файла конфигурации, и возвращает измененный или новый XmlNode для дальнейшего использования.Accepts an XmlNode representing the raw configuration section from a config file and returns a modified or new XmlNode for further use.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Применяется к