<provider> 要素 (テンプレート)
このトピックの対象は、既存のアプリケーションとの下位互換性のために残されているレガシ テクノロジに特定されています。新規の開発には、このトピックを適用しないでください。分散アプリケーションは、現在は Windows Communication Foundation (WCF) を使用して開発する必要があります。
サーバーまたはクライアントのチャネル シンク チェーンに挿入されるチャネル シンクのチャネル シンク プロバイダー テンプレートを指定します。階層内で、この要素を含めることができる位置は 2 つあります。この要素は、アプリケーション構成ファイルとマシン構成ファイルに出現する可能性があります。
Schema Hierarchy
<configuration>
<system.runtime.remoting> 要素
<channelSinkProviders> 要素
<clientProviders> 要素 (インスタンス)
<provider> 要素 (テンプレート)
構文
<provider
id="ProviderID"
type="ProviderType, ProviderAssembly"
customChannelSinkProperty="customProperty"
/>
属性と要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
属性 | 説明 |
---|---|
id |
必須属性 対象のチャネル シンク プロバイダーを識別する文字列を指定します。他のプロバイダーは、それぞれの ref 属性でこの文字列を指定することによって、このチャネル シンク プロバイダーにバインドできます。 |
type |
必須属性 チャネル シンク プロバイダーの完全型名と、プロバイダーの実装が含まれているアセンブリの名前を指定します。格納しているアセンブリがグローバル アセンブリ キャッシュ内にある場合は、バージョン、カルチャ、および公開キーの情報が含まれます。 |
customChannelSinkProperty |
省略可能属性 サポートされているカスタム チャネル シンク プロパティを示します。カスタム チャネル シンク プロバイダーとそのシンクがサポートする、プロバイダー プロパティおよびチャネル シンク プロパティをいくつでも指定できます。カスタム チャネル シンク プロパティは、属性と値のペアで指定します。次に例を示します。
ここには、カスタム シンク プロバイダーのデータも指定できます。サポートされるノードのレベルは 1 つだけです。次に例を示します。
この追加情報は、プロバイダーのコンストラクターで SinkProviderData の ICollection として使用できます。 |
子要素
なし。
親要素
要素 | 説明 |
---|---|
channelSinkProviders |
クライアントおよびサーバーのチャネル シンク プロバイダーのテンプレートを指定します。この要素に指定したチャネル シンク プロバイダーは、チャネル シンク プロバイダーを登録できる場所なら、どこからでも参照できます。 |
clientProviders |
対象のチャネル テンプレートが構成ファイル内の別の場所から参照された場合に、そのチャネル テンプレートに対するクライアント側の既定のチャネル シンク呼び出しチェーンに挿入されるチャネル シンクのプロバイダーを指定します。下のいずれかの位置でプロバイダーを指定すると、対象のチャネルの既定のチャネル シンクがオーバーライドされます。テンプレートのチャネル シンク呼び出しチェーンに、これらの既定のチャネル シンクも挿入する必要がある場合は、それらの既定のチャネル シンクも同様にこの要素で指定する必要があります。 |
configuration |
共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素です。 |
system.runtime.remoting |
リモート オブジェクトおよびチャネルに関する情報を指定します。 |
例
次の構成ファイルは、<provider> インスタンス要素を使用して、<provider> テンプレート要素で宣言されている "propsetter" および "null" チャネル シンク プロバイダーを HttpChannel に割り当てています。また、"propsetter" チャネル シンク プロバイダーは、<provider> インスタンス要素の属性として、および子 <endpoint>
属性の名前と値の組み合わせとして指定されたカスタム プロバイダー プロパティを使用して作成されています。
<configuration>
<system.runtime.remoting>
<application>
<client>
<wellknown
type="RemoteType, RemoteAssembly"
url="http://computername:8080/RemoteType.rem"/>
</client>
<channels>
<channel ref="http">
<clientProviders>
<formatter ref="soap"/>
<provider
ref="propsetter"
username="bob"
writeToConsole="true"
>
<endpoint url="contoso.com:9000" someProperty="xyz" />
<endpoint url="contoso.com:9001" someProperty="123" />
</provider>
<provider ref="null" writeToConsole="true" />
</clientProviders>
</channel>
</channels>
</application>
<channelSinkProviders>
<clientProviders>
<provider
id="propsetter"
type="ChannelSinkPropertySetterProvider, SinkAssembly"
/>
<provider
id="null"
type="NullSinkProvider, SinkAssembly"
/>
</clientProviders>
</channelSinkProviders>
<debug loadTypes="true" />
</system.runtime.remoting>
</configuration>
参照
リファレンス
概念
ビルド日:2010-02-13