Share via


<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

省略可能属性

サポートされているカスタム チャネル シンク プロパティを示します。カスタム チャネル シンク プロバイダーとそのシンクがサポートする、プロバイダー プロパティおよびチャネル シンク プロパティをいくつでも指定できます。カスタム チャネル シンク プロパティは、属性と値のペアで指定します。次に例を示します。

<provider id="CustomChannelSinkProvider" type="Namespace.CustomChannelSinkProvider, CustomChannels" customChannelSinkProperty="ChannelSinkPropertyValue"/>

customChannelSinkProperty 属性とその値は、プロバイダーのコンストラクターで IDictionary 引数として使用できます。

ここには、カスタム シンク プロバイダーのデータも指定できます。サポートされるノードのレベルは 1 つだけです。次に例を示します。

<provider ref="custom">
<extra data="value"/>
<extra data="AnotherValue"/>
</provider>

この追加情報は、プロバイダーのコンストラクターで SinkProviderDataICollection として使用できます。

子要素

なし。

親要素

要素 説明

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