ここでは、.NET リモート処理システムの IChannel の実装に対して指定できるすべての構成プロパティの一覧とその説明を示します。構成ファイルで宣言するときにはすべての値は文字列で表されますが、IDictionary プロパティをプログラムによって生成する場合は、整数値を整数として引用符なしで表したり、文字列として値を引用符で囲んで表したりできます。また、ブール値は Boolean として指定できます。その他すべての値は文字列として指定します。
構成ファイルの <channel> 要素でチャネルを構成する方法の詳細については、「方法 : 構成ファイルでチャネルを構成する」を参照してください。プログラムでチャネルを構成する方法の詳細については、「方法 : プログラムでチャネルを構成する」を参照してください。
次の表は、チャネルの型と、それらの型によってサポートされるチャネルのプロパティの一覧です。
型 | サポートされるプロパティ |
---|---|
allowAutoRedirect bindTo clientConnectionLimit connectionGroupName credentials exclusiveAddressUse listen machineName name port priority proxyName proxyPort servicePrincipalName suppressChannelData timeout unsafeAuthenticatedConnectionSharing useAuthenticatedConnectionSharing useDefaultCredentials useIpAddress |
|
allowAutoRedirect clientConnectionLimit connectionGroupName credentials ___domain machineName name password priority proxyName proxyPort servicePrincipalName timeout unsafeAuthenticatedConnectionSharing useAuthenticatedConnectionSharing useDefaultCredentials username |
|
bindTo exclusiveAddressUse listen machineName name port priority suppressChannelData useIpAddress |
|
authorizationModule bindTo exclusiveAddressUse impersonate machineName name port priority rejectRemoteRequests secure servicePrincipalName suppressChannelData timeout tokenImpersonationLevel useIpAddress |
|
___domain machineName name password priority protectionLevel retryCount secure servicePrincipalName socketCachePolicy socketCacheTimeout timeout tokenImpersonationLevel username |
|
authorizationModule bindTo exclusiveAddressUse impersonate machineName name port priority protectionLevel rejectRemoteRequests# secure suppressChannelData useIpAddress |
|
authorizedGroup connectionTimeout name portName priority secure suppressChannelData |
|
connectionTimeout name priority secure |
|
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) に設定します。name が String.Empty のチャネルは、任意の数だけ指定できます。このプロパティは、ChannelServices.GetChannel() を呼び出すときに特定のチャネルを取得するために使用されます。詳細については、「チャネル」を参照してください。 |
HttpChannel HttpServerChannel HttpClientChannel TcpChannel TcpClientChannel TcpServerChannel IpcChannel IpcClientChannel IpcServerChannel |
||
machineName |
現在のチャネルで使用されるコンピュータの名前を指定する文字列。サーバー チャネルで使用される場合、useIpAddress をオーバーライドします。
|
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 にのみ接続できることに注意してください。
|
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 |
![]() |
---|
Windows 98 と Windows Me には、認証接続グループ名を識別するセキュリティ ID がありません。このため、これらのプラットフォームには 1 つの接続グループ名があります。 |
![]() |
---|
アプリケーションによって ICredentials 実装が渡されるか、HttpClientChannel プロパティの username、password、および ___domain の値が明示的に渡されるようにする場合は、unsafeAuthenticatedConnectionSharing の名前/値ペアと connectionGroupName の名前/値ペアも渡されるようにすることによって、認証接続を共有できます。ただし、connectionGroupName 値は、1 人の認証済みユーザーのみにマップされている必要があります。 |
指定可能なサーバー チャネルのプロパティを次の表に示します。
プロパティ | 説明 | このプロパティをサポートする型 |
---|---|---|
port |
チャネルがリッスンするポートを指定する整数。0 を指定すると、開いているポートがリモート処理システムによって自動的に選択されます。 |
HttpChannel HttpServerChannel TcpChannel TcpServerChannel |
suppressChannelData |
ChannelData、ChannelData、または 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 のみでサポートされます。 |
|
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 |
参照
処理手順
方法 : 構成ファイルでチャネルを構成する
方法 : プログラムでチャネルを構成する