Share via


<provider> 要素 (テンプレート)

サーバーまたはクライアントのチャネル シンク チェインに挿入されるチャネル シンクのチャネル シンク プロバイダ テンプレートを指定します。階層内で、この要素を含めることができる位置は 2 つあります。

<configuration>
   <system.runtime.remoting>
      <channelSinkProviders>
         <clientProviders>
            <provider>

ここで指定されたプロバイダは、<provider> インスタンスによって参照して使用できます。

<configuration>
   <system.runtime.remoting>
      <channelSinkProviders>
         <serverProviders>
            <provider>

ここで指定されたプロバイダも、<provider> インスタンスによって参照して使用できます。

<provider 
   id="ProviderID"    type="ProviderType, ProviderAssembly"       customChannelSinkProperty="customProperty"/>

省略可能属性

属性 説明
customChannelSinkProperty サポートされているカスタム チャネル シンク プロパティを示します。カスタム チャネル シンク プロバイダとそのシンクがサポートする、プロバイダ プロパティおよびチャネル シンク プロパティをいくつでも指定できます。カスタム チャネル シンク プロパティは、属性と値のペアで指定します。次に例を示します。
<provider id="CustomChannelSinkProvider" type="Namespace.CustomChannelSinkProvider, CustomChannels" customChannelSinkProperty="ChannelSinkPropertyValue"/>

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

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

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

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

必須属性

属性 説明
id 対象のチャネル シンク プロバイダを識別する文字列を指定します。他のプロバイダは、それぞれの ref 属性でこの文字列を指定することによって、このチャネル シンク プロバイダにバインドできます。
type チャネル シンク プロバイダの完全型名と、プロバイダの実装が含まれているアセンブリの名前を指定します。格納しているアセンブリがグローバル アセンブリ キャッシュ内にある場合は、バージョン、カルチャ、および公開キーの情報が含まれます。

次の構成ファイルは、<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" password="xyz" />
                     <endpoint url="contoso.com:9001" password="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>

必要条件

構成ファイル : アプリケーション構成ファイル、マシン構成ファイル (Machine.config)

参照

リモート処理設定スキーマ | シンクとシンク チェイン