ConfigurationBuilder クラス

定義

カスタム構成ビルダーの実装によって拡張する基底クラスを表します。

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 を実装する方法を示しています。

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

次の例は、前の例に適用される構成ファイルの抜粋です。 これにより、環境変数が 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>

注釈

標準 ConfigurationManager API を使用して、.NET Framework アプリケーションで使用する外部ソースから構成を読み取るために、このクラスから派生します。 ConfigurationBuilders は、環境変数、Azure キー コンテナー、およびその他の多くのソースから読み取るために、NuGet.org で使用できます。

ConfigurationBuilders のいくつかの実装は、NuGet.org から使用できます。

コンストラクター

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)

適用対象