System.Configuration 名前空間


.NET Framework クラス ライブラリ
SettingsProvider クラス

更新 : 2007 年 11 月

アプリケーション設定アーキテクチャでカスタム設定プロバイダを派生させるための基本クラスとして機能します。

名前空間 :  System.Configuration
アセンブリ :  System (System.dll 内)

構文

Visual Basic (宣言)
Public MustInherit Class SettingsProvider _
    Inherits ProviderBase
Visual Basic (使用法)
Dim instance As SettingsProvider
C#
public abstract class SettingsProvider : ProviderBase
Visual C++
public ref class SettingsProvider abstract : public ProviderBase
J#
public abstract class SettingsProvider extends ProviderBase
JScript
public abstract class SettingsProvider extends ProviderBase
解説

設定プロバイダは、アプリケーション設定アーキテクチャで使用する構成データを格納するための機構を定義します。.NET Framework には、既定の設定プロバイダ (LocalFileSettingsProvider) が 1 つ用意されています。このプロバイダは、ローカル ファイル システムに構成データを格納します。ただし、SettingsProvider 抽象クラスから派生させることで、その代わりとなるストレージ機構も作成できます。ラッパー クラスが使用するプロバイダは、ラッパー クラスを SettingsProviderAttribute で修飾して決定します。この属性が提供されない場合は、既定の LocalFileSettingsProvider が使用されます。

カスタム設定プロバイダを作成するときは、少なくとも、このクラスの 3 つのメソッド (GetPropertyValuesSetPropertyValues、および ApplicationName) の実装を提供する必要があります。

クライアント アプリケーションの場合、IApplicationSettingsProvider インターフェイスも実装して、より標準化された機能をカスタム プロバイダに追加できます。このインターフェイスは、主にバージョン管理のサポートを有効にする ApplicationSettingsBase クラスに存在するメソッドを反映します。

通常は、ストレージ リソースの競合を避けるため、単一インスタンス化されるように設定プロバイダを設計する必要があります。また、プロバイダはスレッド セーフにする必要もあります。これはプロバイダを、1 つのアプリケーション ドメイン内の複数のラッパー インスタンスから、または異なるドメインの複数のアプリケーションから同時に呼び出すことができるためです。

少なくとも、設定プロバイダは 3 つの属性 (ApplicationScopedSettingAttributeUserScopedSettingAttribute、および DefaultSettingValueAttribute) を認識する必要があります。アプリケーション設定に適用できる属性のリスト全体については、「アプリケーション設定の属性」を参照してください。カスタム設定プロバイダは、設定プロパティに適用する属性を次の方法で解決する必要があります。

  1. プロバイダは属性が示す要求を満たすことができる場合、その要求を実行します。

  2. プロバイダが要求を実行できない場合は、その要求を無視します。

  3. たとえば、プロパティが ApplicationScopedSettingAttributeUserScopedSettingAttribute の両方で装飾されている場合など、複数のプロパティが競合するときは、プロバイダは ConfigurationException をスローする必要があります。

継承階層

System..::.Object
  System.Configuration.Provider..::.ProviderBase
    System.Configuration..::.SettingsProvider
      System.Configuration..::.LocalFileSettingsProvider
      System.Web.ClientServices.Providers..::.ClientSettingsProvider
      System.Web.Profile..::.ProfileProvider
スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.5、3.0、2.0
参照

参照

その他の技術情報

タグ :


Page view tracker