次の方法で共有


<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 属性を指定する必要はありません。

.NET Framework リモート処理には、"http"、"tcp"、および "ipc" という 3 つのチャンネル実装が用意されています。チャネル実装を選択する方法の詳細については、「チャネルの選択」を参照してください。

displayName

省略可能属性

このアプリケーションに登録されているチャネルのリストを作成するために、.NET Framework 構成ツールによって使用されます。この属性は、.NET Framework リモート処理システムによっては使用されません。

type

省略可能属性

チャネルの完全型名と、チャネルの実装があるアセンブリの名前を示します。格納しているアセンブリがグローバル アセンブリ キャッシュ内にある場合は、バージョン、カルチャ、および公開キーの情報がすべて含まれます。この属性は、ref 属性を指定しない場合に指定する必要があります。

.NET Framework リモート処理には、"http"、"tcp"、および "ipc" という 3 つのチャンネル実装が用意されています。チャネル実装を選択する方法の詳細については、「 チャネルの選択」を参照してください。

port

省略可能属性

適切なポート属性を示します。たとえば、チャネルがポートで待機するように指定するときは、ここでポート属性を指定できます。TcpChannel などの一部のチャネルでは、ポート指定は必須です。その他の HttpChannel などのチャネルの場合は、既定のポートがあるため、この属性の指定は必須ではありません。クライアントの構築時にポートとして 0 (ゼロ) を指定すると、.NET Framework リモート処理システムによって適切なポートが選択されます。クライアント チャネル用のポートを指定しない場合、クライアントがリモート オブジェクトからのコールバック関数を受け取ることができなくなります。

portName

IpcChannel または IpcServerChannel の必須属性。サーバーが公開するポートの名前を指定します。

<customChannelProperty>

省略可能属性

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

<channel 
   ref="CustomChannel" 
   port="61000"   customProperty="PropertyValue" 
/>

useIpAddress

公開する URL で、コンピュータ名の代わりに IP アドレスを使用するかどうかを指定する Boolean 値 (true または false) 。たとえばワイヤレス ネットワークでは、ネットワーク内を移動するポータブル コンピュータの IP アドレスがシャッフルされる場合があります。この値に false を指定すると、IP アドレスの代わりにコンピュータ名を使用するため、リモート接続がローミング中に切断されなくなります。既定値は true です。この値は、プロパティがサーバー チャネルで使用されるとき、machineName プロパティによってオーバーライドできます。

machineName

現在のチャネルで使用されるコンピュータの名前を指定する文字列。サーバー チャネルで使用されている場合、useIpAddress をオーバーライドします。

   一般的には、コンピュータの ドメイン ネーム システム (DNS) 名を使用することが望ましいですが、特定のネットワーク インターフェイス カード (通常はワイヤレス NIC) の IP アドレスが頻繁に変更される場合は、machineName を使用して、リモート処理が DNS 経由でコンピュータを見つけられるようにアプリケーションを構成する必要があります。しかし、コンピュータ名解決に時間がかかりすぎたり解決できなかったりする場合、コンピュータが物理的または仮想的に複数の NIC を持つときは (たとえば、ダイヤルアップ接続や VPN ネットワーク アダプタの場合)、現在接続に使用されている NIC の IP アドレスを machineName プロパティに設定する必要があります。

子要素

要素 説明

<serverProviders>

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

<clientProviders>

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

親要素

要素 説明

application

アプリケーションが使用および公開するリモート オブジェクトに関する情報を指定します。

channels

アプリケーションがリモート オブジェクトと通信するために使用するチャネルを指定します。この要素では、指定したアプリケーションで使用できるように、チャネル テンプレートを構成するか、新しいチャネルを宣言します。

configuration

共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素です。

system.runtime.remoting

リモート オブジェクトおよびチャネルに関する情報を指定します。

解説

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

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

<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>

関連項目

参照

リモート処理設定スキーマ
HttpChannel
HttpClientChannel
HttpServerChannel
TcpChannel
TcpClientChannel
TcpServerChannel
IpcChannel
IpcClientChannel
IpcServerChannel

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.