次の方法で共有


チャネルおよびフォーマッタの構成プロパティ

ここでは、.NET リモート処理システムの IChannel の実装に対して指定できるすべての構成プロパティの一覧とその説明を示します。構成ファイルで宣言するときにはすべての値は文字列で表されますが、IDictionary プロパティをプログラムによって生成する場合は、整数値を整数として引用符なしで表したり、文字列として値を引用符で囲んで表したりできます。また、ブール値は Boolean として指定できます。その他すべての値は文字列として指定します。

構成ファイルの <channel> 要素でチャネルを構成する方法の詳細については、「方法 : 構成ファイルでチャネルを構成する」を参照してください。プログラムでチャネルを構成する方法の詳細については、「方法 : プログラムでチャネルを構成する」を参照してください。

次の表は、チャネルの型と、それらの型によってサポートされるチャネルのプロパティの一覧です。

サポートされるプロパティ

HttpChannel

allowAutoRedirect

bindTo

clientConnectionLimit

connectionGroupName

credentials

exclusiveAddressUse

listen

machineName

name

port

priority

proxyName

proxyPort

servicePrincipalName

suppressChannelData

timeout

unsafeAuthenticatedConnectionSharing

useAuthenticatedConnectionSharing

useDefaultCredentials

useIpAddress

HttpClientChannel

allowAutoRedirect

clientConnectionLimit

connectionGroupName

credentials

___domain

machineName

name

password

priority

proxyName

proxyPort

servicePrincipalName

timeout

unsafeAuthenticatedConnectionSharing

useAuthenticatedConnectionSharing

useDefaultCredentials

username

HttpServerChannel

bindTo

exclusiveAddressUse

listen

machineName

name

port

priority

suppressChannelData

useIpAddress

TcpChannel

authorizationModule

bindTo

exclusiveAddressUse

impersonate

machineName

name

port

priority

rejectRemoteRequests

secure

servicePrincipalName

suppressChannelData

timeout

tokenImpersonationLevel

useIpAddress

TcpClientChannel

___domain

machineName

name

password

priority

protectionLevel

retryCount

secure

servicePrincipalName

socketCachePolicy

socketCacheTimeout

timeout

tokenImpersonationLevel

username

TcpServerChannel

authorizationModule

bindTo

exclusiveAddressUse

impersonate

machineName

name

port

priority

protectionLevel

rejectRemoteRequests#

secure

suppressChannelData

useIpAddress

IpcChannel

authorizedGroup

connectionTimeout

name

portName

priority

secure

suppressChannelData

IpcClientChannel

connectionTimeout

name

priority

secure

IpcServerChannel

authorizedGroup

name

portName

priority

secure

suppressChannelData

次の表は、一般的なチャネルのプロパティと、それらをサポートしているチャネルの型の一覧です。

プロパティ 説明 このプロパティをサポートする型

name

このチャネルの名前を指定する文字列。名前を指定しない場合、型に依存する既定の名前が使用されます。

HttpChannel : "http"

HttpClientChannel : "http client"

HttpServerChannel : "http server"

TcpChannel : "tcp"

TcpClientChannel : "tcp client"

TcpServerChannel : "tcp server"

IpcChannel : "ipc"

IpcClientChannel : "ipc client"

IpcServerChannel : "ipc server"

それぞれのチャネルは、一意の名前を持つ必要があります。名前を省略して名前付けの競合を回避するには、このプロパティを空の文字列 ("" または String.Empty) に設定します。nameString.Empty のチャネルは、任意の数だけ指定できます。このプロパティは、ChannelServices.GetChannel() を呼び出すときに特定のチャネルを取得するために使用されます。詳細については、「チャネル」を参照してください。

HttpChannel

HttpServerChannel

HttpClientChannel

TcpChannel

TcpClientChannel

TcpServerChannel

IpcChannel

IpcClientChannel

IpcServerChannel

machineName

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

Noteメモ :

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

HttpChannel

HttpClientChannel

HttpServerChannel

TcpChannel

TcpClientChannel

TcpServerChannel

priority

このチャネルに割り当てる優先度を表す整数。数字が大きいほど先に接続される可能性が高くなります。既定の優先度は 1 で、負の数も指定できます。

HttpChannel

HttpServerChannel

HttpClientChannel

TcpChannel

TcpClientChannel

TcpServerChannel

IpcChannel

IpcClientChannel

IpcServerChannel

secure (TcpChannel)

チャネル上の通信をセキュリティで保護するかどうかを指定するブール値 (true または false)。既定値は false です。true に設定すると、tokenImpersonationLevel プロパティが Identification に、protectionLevel プロパティが EncryptAndSign に設定されます。セキュリティで保護された TcpClientChannel は、セキュリティで保護された TcpServerChannel にのみ接続でき、セキュリティで保護されていない TcpClientChannel はセキュリティで保護されていない TcpServerChannel にのみ接続できることに注意してください。

Noteメモ :

サーバー コンピュータが Windows 95、Windows 98、または Windows Me を実行している場合、TcpServerChannel をセキュリティで保護するよう指定することはできません。

TcpChannel

TcpClientChannel

TcpServerChannel

secure (IpcChannel)

チャネル上の通信をセキュリティで保護するかどうかを指定するブール値 (true または false)。既定値は false です。true に設定すると、tokenImpersonationLevel プロパティが Identification に設定されます。セキュリティで保護された IpcClientChannel は、セキュリティで保護されているかどうかにかかわらず IpcServerChannel に接続できますが、セキュリティで保護されていない IpcClientChannel は、セキュリティで保護されていない IpcServerChannel にのみ接続できることに注意してください。

IpcChannel

IpcClientChannel

IpcServerChannel

protectionLevel

ProtectionLevel 型の値。既定値は None です。ただし、secure プロパティが true に設定されている場合、既定値は EncryptAndSign になります。ProtectionLevel プロパティを None 以外の値に設定するには、secure プロパティを true に設定する必要があります。

Windows 95、Windows 98、または Windows Me と互換性のある設定は None のみであることに注意してください。

TcpClientChannel

TcpServerChannel

指定可能なクライアント チャネルのプロパティを次の表に示します。

プロパティ 説明 このプロパティをサポートする型

clientConnectionLimit

特定のサーバーに対して同時に開くことのできる接続数を表す整数。既定値は 2 です。

HttpChannel

HttpClientChannel

proxyName

リモート サーバーへの呼び出しを行うときに、プロキシ クライアントによって使用される名前を指定する文字列。既定では、クライアント コンピュータのホスト名が使用されます。

HttpChannel

HttpClientChannel

proxyPort

プロキシ クライアントがリモート サーバーへの呼び出しを行うときに使用するポート番号を指定する整数。既定では、使用可能で特権のないポートが実行時に選択されます。

HttpChannel

HttpClientChannel

retryCount

クライアントが最初に失敗したリモート呼び出しの試行を繰り返す回数を指定する整数。既定値は 1 です。

TcpClientChannel

socketCachePolicy

socketCacheTimeout をソケットの作成に対して測定するのか、そのソケットを介した最後の伝送に対して測定するのかを指定する SocketCachePolicy 列挙体のメンバ。既定値は Default です。

TcpClientChannel

socketCacheTimeout

ソケットが TcpClientChannel オブジェクトによって保持されるキャッシュから削除されるまでの時間を秒単位で指定する整数。既定値は 5 秒です。

TcpClientChannel

connectionTimeout

接続が正常に行われるまでの待機時間をミリ秒単位で指定する整数。0 または -1 は、タイムアウト期間が無期限であることを示します。既定値は Infinite です。

IpcChannel

IpcClientChannel

timeout

要求がタイムアウトになるまでの時間をミリ秒単位で指定する整数。0 または -1 は、タイムアウト期間が無期限であることを示します。既定値は Infinite です。

HttpChannel

HttpClientChannel

TcpChannel

TcpClientChannel

allowAutoRedirect

サーバー リダイレクトの自動処理を有効にするかどうかを示すブール値 (true または false)。

HttpChannel

HttpClientChannel

credentials

クライアントの ID を表す ICredentials 実装を取得または設定します。

HttpChannel

HttpClientChannel

useAuthenticatedConnectionSharing

サーバー チャネルが、呼び出しのたびに認証を行うのではなく、認証されている接続を再使用するかどうかを示すブール値 (true または false)。既定では、useDefaultCredentials 値が true に設定されている場合は、この値も true に設定されます。それ以外の場合、この値は false に設定されます。つまり、サーバーが認証を要求した場合には、各呼び出しが認証されることになります。これは、プログラムによる処理の場合でも同じです。プログラムの場合は、IDictionary を実装するオブジェクトを作成し、"credentials" の値を CredentialCache.DefaultCredentials に設定して、この値をチャネル シンクに渡すか、ChannelServices.GetChannelSinkProperties メソッドから返された IDictionary を使用します。

この名前/値ペアは、Microsoft Windows 98、Windows NT 4.0、Windows Millennium Edition (Windows Me)、Windows 2000、Windows XP Home Edition、Windows XP Professional、および Windows Server 2003 ファミリの各プラットフォーム上の .NET Framework Version 1.1 のみでサポートされています。

HttpChannel

HttpClientChannel

unsafeAuthenticatedConnectionSharing

サーバーが認証済み接続グループを作成するために使用する資格情報と接続グループ名をクライアントが提供するかどうかを示すブール値 (true または false)。この値が true に設定されている場合は、connectionGroupName 値を 1 人の認証済みユーザーのみにマップする必要があります。この名前/値ペアは、useAuthenticatedConnectionSharing 値が true に設定されている場合は無視されます。

この名前/値ペアは、Windows 98、Windows NT 4.0、Windows Me、Windows 2000、Windows XP Home Edition、Windows XP Professional、および Windows Server 2003 ファミリの各プラットフォーム上の .NET Framework Version 1.1 のみでサポートされています。

HttpChannel

HttpClientChannel

connectionGroupName

unsafeAuthenticatedConnectionSharing 値も指定されている場合に、サーバーで接続グループ名として使用される名前を指定する文字列。この名前/値ペアは、unsafeAuthenticatedConnectionSharing 値が true に設定されていない場合は無視されます。設定されている場合は、この名前が 1 人の認証済みユーザーのみにマップされていることを確認してください。

この名前/値ペアは、Windows 98、Windows NT 4.0、Windows Me、Windows 2000、Windows XP Home Edition、Windows XP Professional、および Windows Server 2003 ファミリの各プラットフォーム上の .NET Framework Version 1.1 のみでサポートされています。

HttpChannel

HttpClientChannel

useDefaultCredentials

サーバー チャネルに対して認証を行うときに現在のスレッドと関連付けられた ID の資格情報を提示するかどうかを指定するブール値 (true または false)。

HttpChannel

HttpClientChannel

servicePrincipalName

Kerberos 認証のための servicePrincipalName を指定する文字列。既定値は、null です。

HttpChannel

HttpClientChannel

TcpChannel

TcpClientChannel

tokenImpersonationLevel

TokenImpersonationLevel 型の値。このプロパティは、サーバーでのクライアントの認証方法を指定します。既定値は None です。ただし、secure プロパティが true に設定されている場合、既定値は Identification になります。

TcpChannel

TcpClientChannel

___domain

サーバー チャネルに対して認証を行うときに、username によって指定されるユーザー名と password によって指定されるパスワードと共に使用されるドメイン名を指定する文字列。

HttpClientChannel

TcpClientChannel

username

サーバー チャネルに対して認証を行うときに、password によって指定されるパスワードと ___domain によって指定されるドメインと共に使用されるユーザー名を指定する文字列。

HttpClientChannel

TcpClientChannel

password

サーバー チャネルに対して認証を行うときに、username によって指定されるユーザー名と ___domain によって指定されるドメインと共に使用されるパスワードを指定する文字列。

HttpClientChannel

TcpClientChannel

Noteメモ :

Windows 98 と Windows Me には、認証接続グループ名を識別するセキュリティ ID がありません。このため、これらのプラットフォームには 1 つの接続グループ名があります。

Noteメモ :

アプリケーションによって ICredentials 実装が渡されるか、HttpClientChannel プロパティの usernamepassword、および ___domain の値が明示的に渡されるようにする場合は、unsafeAuthenticatedConnectionSharing の名前/値ペアと connectionGroupName の名前/値ペアも渡されるようにすることによって、認証接続を共有できます。ただし、connectionGroupName 値は、1 人の認証済みユーザーのみにマップされている必要があります。

指定可能なサーバー チャネルのプロパティを次の表に示します。

プロパティ 説明 このプロパティをサポートする型

port

チャネルがリッスンするポートを指定する整数。0 を指定すると、開いているポートがリモート処理システムによって自動的に選択されます。

HttpChannel

HttpServerChannel

TcpChannel

TcpServerChannel

suppressChannelData

ChannelDataChannelData、または ChannelData プロパティから得られるチャネル データにチャネルが寄与するかどうかを指定するブール値 (true または false)。既定値は false です。

HttpChannel

HttpServerChannel

TcpChannel

TcpServerChannel

IpcChannel

IpcServerChannel

useIpAddress

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

HttpChannel

HttpServerChannel

TcpChannel

TcpServerChannel

bindTo

サーバー チャネルのバインド先となるネットワーク インターフェイス カード (NIC) の IP アドレスを指定する文字列。既定値は、System.Net.IPAddress.Any です。

HttpChannel

HttpServerChannel

TcpChannel

TcpServerChannel

listen

IChannelReceiverHook.WantsToListen でアクティべーションによるフックを許可するかどうかを指定するブール値 (true または false)。既定値は true です。

HttpChannel

HttpServerChannel

rejectRemoteRequests

他のコンピュータからの要求を拒否するかどうかを指定するブール値 (true または false)。true を指定すると、ローカル コンピュータからのリモート呼び出しのみが許可されます。既定値は false です。

TcpChannel

TcpServerChannel

exclusiveAddressUse

他のアプリケーションによって IP アドレスとポートとの組み合わせが再使用されることがチャネルによって禁止されるかどうかを指定するブール値 (true または false)。既定値は true です。true に設定されている場合、このプロパティは SocketOptionName サーバー ソケット オプションを SocketOptionName.ExclusiveAddressUse に設定します。

このプロパティは、Windows NT 4.0 Service Pack 4 以降、Windows Me、Windows 2000、Windows XP Home Edition、Windows XP Professional、および Windows Server 2003 ファミリの各プラットフォーム上の .NET Framework Version 1.1 のみでサポートされています。

Windows XP Service Pack 2 または Windows Server 2003 よりも前のプラットフォームでこのプロパティを変更するには、管理者特権が必要です。

HttpChannel

HttpServerChannel

TcpChannel

TcpServerChannel

impersonate

サーバーがクライアントを偽装するかどうかを指定するブール値 (true または false)。既定値は false です。

TcpChannel

TcpServerChannel

authorizedGroup

このチャネルに接続するためのアクセス許可を持つグループまたはユーザーを指定する文字列。既定では、すべての承認されたユーザーにアクセスが許可されます。

IpcChannel

IpcServerChannel

portName

サーバーが公開するポートの名前を指定する文字列。このプロパティは、IpcChannel または IpcServerChannel の場合は必須です。

IpcChannel

IpcServerChannel

authorizationModule

IAuthorizeRemotingConnection インターフェイスを実装するクラスのアセンブリ、名前空間、およびクラス名を指定する文字列。この文字列の形式は、"AuthorizationModuleNameSpace.AuthorizationModuleClass,AuthorizationModuleAssembly" である必要があります。

TcpChannel

TcpServerChannel

指定可能なチャネル シンクのプロパティを次の表に示します。

プロパティ 説明 このプロパティをサポートする型

includeVersions

フォーマッタにバージョン管理情報を含めるかどうかを指定するブール値 (true または false)。

BinaryClientFormatterSink BinaryServerFormatterSink SoapClientFormatterSink SoapServerFormatterSink

strictBinding

完全なバージョン情報がある場合には、受信側のフォーマッタが、完全なバージョン情報を使用した型の識別を試みてから、バージョン情報を含まない型名とアセンブリ名のみを使用した型の識別を試みるようにするかどうか指定するブール値 (true または false)。システムによって提供される 2 つのフォーマッタの既定値は false です。詳細については、「<formatter> 要素 (テンプレート)」を参照してください。

BinaryServerFormatterSink SoapServerFormatterSink

metadataEnabled

このシンクがチャネル シンク チェーンにある場合に、"?wsdl" で終わる要求を受け入れるかどうかを指定するブール値 (true または false)。既定の設定は true です。false の場合は、アプリケーション ドメイン内のオブジェクト用にメタデータが要求されるすべての場合に、シンクが例外をスローします。

このプロパティは、Windows 98、Windows NT 4.0、Windows Me、Windows 2000、Windows XP Home Edition、Windows XP Professional、および Windows Server 2003 ファミリの各プラットフォーム上の .NET Framework Version 1.1 のみでサポートされます。

SdlChannelSink

remoteApplicationMetadataEnabled

オブジェクト URI (Uniform Resource Identifier) を要求する "RemoteApplicationMetadata?wsdl" を受け入れるかどうかを指定するブール値 (true または false)。これによって、アプリケーション ドメインで公開されているすべてのオブジェクトを記述している WSDL (Web Services Description Language) が返されます。false の場合、"RemoteApplicationMetadata.rem" へのすべての要求で、例外が発生します。特定のオブジェクト URI に対する他のすべての "?wsdl" 要求は受け入れられます。true の場合は、グローバル メタデータ要求が受け入れられます。既定の設定は false です。

このプロパティは、Windows 98、Windows NT 4.0、Windows Me、Windows 2000、Windows XP Home Edition、Windows XP Professional、および Windows Server 2003 ファミリの各プラットフォーム上の .NET Framework Version 1.1 のみでサポートされます。

SdlChannelSink

typeFilterLevel

サーバー チャネルが試行する自動逆シリアル化のレベルを指定する文字列値です。サポートされる値は、Low (既定) および Full です。逆シリアル化レベルの詳細については、「.NET リモート処理での自動逆シリアル化」を参照してください。

このプロパティは、Windows 98、Windows NT 4.0、Windows Me、Windows 2000、Windows XP Home Edition、Windows XP Professional、および Windows Server 2003 ファミリの各プラットフォーム上の .NET Framework Version 1.1 のみでサポートされます。

BinaryServerFormatterSink SoapServerFormatterSink

参照

処理手順

方法 : 構成ファイルでチャネルを構成する
方法 : プログラムでチャネルを構成する

関連項目

リモート処理設定スキーマ

概念

リモート アプリケーションの構成
リモート オブジェクトの設定
リモート オブジェクトの設定