Share via


<channel> 要素 (インスタンス)

アプリケーションがリモート オブジェクトと通信するために使用するチャネルを構成します。チャネル テンプレートではない新しいチャネルを宣言および構成することもできます。

<configuration>
   <system.runtime.remoting>
      <application>
         <channels>
            <channel>

<!-- Either reference a channel template -->
<channel 
   ref="channelRef"    displayName="name"   port="port"/><!-- Or declare a particular channel instance --><channel    type="ChannelType, ChannelAssembly"   displayName="name"   port="port"   customChannelProperty="propertyValue"/>

省略可能属性

属性 説明
ref クライアントが使用するために登録するチャネル テンプレートの id を示します。ref 属性を指定する場合は、type 属性を指定する必要はありません。
displayName このアプリケーションに登録されているチャネルのリストを作成するために、.NET Framework 構成ツールによって使用されます。この属性は、.NET リモート処理システムによっては使用されません。
type チャネルの完全型名と、チャネルの実装があるアセンブリの名前を示します。格納しているアセンブリがグローバル アセンブリ キャッシュ内にある場合は、バージョン、カルチャ、および公開キーの情報がすべて含まれます。この属性は、ref 属性を指定しない場合に指定する必要があります。
port 適切なポート属性を示します。たとえば、チャネルがポートで待機するように指定するときは、ここでポート属性を指定できます。TcpChannel などの一部のチャネルでは、ポート指定は必須です。その他の HttpChannel などのチャネルの場合は、既定のポートがあるため、この属性の指定は必須ではありません。クライアントの構築時にポートとして 0 (ゼロ) を指定すると、.NET リモート処理システムによって適切なポートが選択されます。クライアント チャネル用のポートを指定しない場合、クライアントがリモート オブジェクトからのコールバック関数を受け取ることができなくなります。
<customChannelProperty> サポートされているカスタム チャネル プロパティを示します。チャネルがサポートするチャネル プロパティをいくつでも指定できます。カスタム チャネル プロパティは、属性と値のペアで指定します。次に例を示します。
<channel 
   ref="CustomChannel" 
   port="61000"   customProperty="PropertyValue" 
/>

子要素

要素 説明
<serverProviders> サーバー側のチャネル シンク呼び出しチェインに挿入されるシンクのシンク プロバイダを指定します。プロバイダが指定されている場合は、それらのプロバイダによって、チャネルの既定値が完全にオーバーライドされます。<channel> 要素内に 1 回だけ指定できます。
<clientProviders> クライアント側のチャネル シンク呼び出しチェインに挿入されるシンクのシンク プロバイダを指定します。プロバイダが指定されている場合は、それらのプロバイダによって、チャネルの既定値が完全にオーバーライドされます。<channel> 要素内に 1 回だけ指定できます。

解説

システムによって提供される HttpChannelTcpChannel は、マシン構成ファイルに指定されています。これらの id 属性は、それぞれ "http" と "tcp" です。

次の構成ファイルは、クライアント アプリケーションに対してリモート型の場所を宣言し、<channels> インスタンス要素を使用して、サーバー オブジェクトへの接続に適したポートを検出し、既定の HttpChannel を使用するように .NET リモート処理システムに対して指示しています。

<configuration>
   <system.runtime.remoting>
      <application>
         <client>
            <wellknown 
               type="RemoteType, RemoteAssembly"
               url="http://computername:8080/RemoteType.rem"
            />
         </client>
         <channels>
            <channel 
               ref="http" 
               port="0"
            />
         </channels>
      </application>
   </system.runtime.remoting>
</configuration>

必要条件

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

参照

リモート処理設定スキーマ | HttpChannel クラス | HttpClientChannel クラス | HttpServerChannel クラス | TcpChannel クラス | TcpClientChannel クラス | TcpServerChannel クラス