HttpServerChannel クラス

メッセージを送信するために HTTP プロトコルを使用するサーバー チャネルの実装を提供します。

この型のすべてのメンバの一覧については、HttpServerChannel メンバ を参照してください。

System.Object
   System.Runtime.Remoting.Channels.BaseChannelObjectWithProperties
      System.Runtime.Remoting.Channels.BaseChannelWithProperties
         System.Runtime.Remoting.Channels.Http.HttpServerChannel

Public Class HttpServerChannel
   Inherits BaseChannelWithProperties
   Implements IChannelReceiver, IChannel, IChannelReceiverHook
[C#]
public class HttpServerChannel : BaseChannelWithProperties,
   IChannelReceiver, IChannel, IChannelReceiverHook
[C++]
public __gc class HttpServerChannel : public
   BaseChannelWithProperties, IChannelReceiver, IChannel,
   IChannelReceiverHook
[JScript]
public class HttpServerChannel extends BaseChannelWithProperties
   implements IChannelReceiver, IChannel, IChannelReceiverHook

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

既定では、 HttpServerChannel は、SOAP 形式またはバイナリ形式のいずれかでメッセージを受け入れます。

チャネルは、アプリケーション ドメイン、プロセス、コンピュータなどのリモート処理境界を超えて、アプリケーション間でメッセージを転送します。このような転送には、着信と発信の両方があります。現在のチャネルは、着信のエンドポイントで待機します。 HttpServerChannel は、HTTP プロトコルを使用してそのチャンネルに送信されてきたメッセージを、メッセージ オブジェクトに変換します。

チャネルの両端に共通言語ランタイムがある場合、境界の両側のクライアント チェインとサーバー シンク チェインを接続するために、セッションはこの両端の間で作成されます。チャネルのクライアント部分は、クライアント コンテキスト シンク チェインの末尾に配置されます。チャネルのサーバー部分は、サーバー コンテキスト シンク チェインの先頭にあります。メッセージは、クライアント チャネルに配信され、このチャネルを経由した後、 HttpServerChannel によって受信されます。その後、このチャネルがメッセージを最初のサーバー コンテキスト シンクに配信します。

IChannel 実装は、チャネル構成プロパティを使用して、実行時にチャネルを構成します。チャネル プロパティは、構成ファイルで指定したり、 IDictionary 内でプログラムによって指定したりできます。構成ファイルではすべての値が文字列によって表されますが、 IDictionary プロパティをプログラムによって構築する場合は、値型をネイティブな値または文字列で指定できます。

現在のチャネルに対して指定できるチャネル構成プロパティを次の表に示します。

プロパティ 説明
name チャネルの名前を示します。このプロパティは、 GetChannel を呼び出したときに、指定したチャネルを取得するために使用します。このプロパティが設定されていない場合、システムの既定値は "http" になります。複数の HttpChannel を登録する場合は、各チャネルに一意の名前を付ける必要があります。名前を無視し、名前付け規則にも違反しないようにする場合は、このプロパティに Empty 文字列 ("") を設定します。システム上に、名前が String.Empty のチャネルはいくつあってもかまいません。
priority このチャネルに割り当てられている優先順位を表す整数。サーバー チャネルでは、チャネル データが ObjRef に表示される順序が、優先順位によって制御されます。クライアントは、 ObjRef にリストされている順序でサーバー チャネルに接続しようとします。既定の優先順位は 1 で、負の数も指定できます。既定の優先順位は 1 で、負の数も指定できます。
port チャネルが待機するポートを指定する整数。空いているポートをリモート システムが自動的に選択するようにするには、ポート "0" を指定します。これによって、動的に割り当てられたポートで要求を待機する HttpServerChannel のインスタンスが作成されます。これは通常、 HttpServerChannel がコールバック メソッドを待機していることを確認するために、クライアント側で実行されます。
supressChannelData true または false 。チャネルが ChannelData に関与しないことを指定します。
useIpAddress true または false 。チャネルが、公開 URL 内に、コンピュータ名の代わりに IP アドレスを使用するかどうかを指定します。
listen true または false 。外部のリスナ サービスにフックするためにアクティベーションを許可するかどうかを指定します。
bindTo 現在のコンピュータへと解決され、現在のチャネルをバインドする対象の NIC を指定する IP アドレス。
machineName 現在のチャネルで使用するコンピュータ名を指定する文字列。 useIpAddress 構成プロパティとコンピュータ名を表すチャネル データ オブジェクトをオーバーライドします。
exclusiveAddressUse true または falseSocketOptionName サーバー ソケット オプションに SocketOptionName.ExclusiveAddressUse を設定することによって、サーバーで他のアプリケーションが同じ IP アドレスとポートの組み合わせを使用できないようにするかどうかを指定します。既定値は true です。

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

Windows Server 2003 ファミリ以前のプラットフォームの場合、このプロパティには管理者権限が必要です。

必要条件

名前空間: System.Runtime.Remoting.Channels.Http

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Runtime.Remoting (System.Runtime.Remoting.dll 内)

参照

HttpServerChannel メンバ | System.Runtime.Remoting.Channels.Http 名前空間 | チャネルおよびフォーマッタの構成プロパティ