Ағылшын тілінде оқу

Бөлісу құралы:


ConfigurationBuilder Класс

Определение

Представляет базовый класс, расширяемый пользовательскими реализациями построителя конфигурации.

public abstract class ConfigurationBuilder : System.Configuration.Provider.ProviderBase
Наследование
ConfigurationBuilder

Примеры

В следующем примере показано, как реализовать простой ConfigurationBuilder для чтения переменных среды:

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;
    }
}

В следующем примере приведен фрагмент файла конфигурации, применимый к предыдущему примеру. Это применяет переменные среды к конфигурации appSettings и делает эти значения доступными в .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. ConfigurationBuilders доступны на NuGet.org для чтения из переменных среды, хранилища ключей Azure и ряда других источников.

В NuGet.org доступно несколько реализаций ConfigurationBuilders:

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

ConfigurationBuilder()

Инициализирует новый экземпляр класса ConfigurationBuilder.

Свойства

Description

Возвращает краткое, понятное описание, подходящее для отображения в инструментах администрирования или других пользовательских интерфейсах (UI).

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

Возвращает понятное имя, используемое для ссылки на поставщика во время конфигурирования.

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

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

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

Служит хэш-функцией по умолчанию.

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

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

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

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

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

Создает неполную копию текущего объекта Object.

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

Принимает объект ConfigurationSection из системы конфигурации и возвращает измененный или новый объект ConfigurationSection для дальнейшего использования.

ProcessRawXml(XmlNode)

Принимает XmlNode, представляющий необработанный раздел конфигурации из файла конфигурации, и возвращает измененный или новый XmlNode для дальнейшего использования.

ToString()

Возвращает строку, представляющую текущий объект.

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

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