HttpChannel クラスは、SOAP プロトコルを使用して、リモート オブジェクトとの間でメッセージを転送します。すべてのメッセージは SoapFormatter オブジェクトを通じて渡されます。そのときに、メッセージは XML に変換されてシリアル化され、必要な SOAP ヘッダーがストリームに追加されます。バイナリ フォーマッタも指定できます。この場合は、バイナリ データ ストリームが生成されます。このデータ ストリームは、HTTP プロトコルを使用してターゲットの URI (Uniform Resource Identifier) に転送されます。HttpChannel は SOAP 1.1 に準拠し、次の機能を実行します。
トランスポート プロトコルとして HTTP プロトコルを使用し、送信元と受信元との間の通信を提供します。
XML エンコーディング標準である、SOAP へのペイロードのエンコーディングを提供します。
ASP.NET および TCP ソケットで、HTTP 要求を受信したり、HTTP 応答を送信したりするためのレシーバを設定します。
オブジェクト参照のための ChannelDataStore を生成および利用します。
**メモ **クライアントで HttpChannel を Microsoft Internet Explorer と共に使用する場合、Internet Explorer のプロキシ設定は自動構成に設定できません。その代わりに、Internet Explorer のプロキシ設定を明示的に設定する必要があります。
HttpChannel は、サーバーへの接続を、指定された数しか開きません。既定値は 2 です。既定値を変更するには、アプリケーション構成ファイルで clientConnectionLimit 属性を使用します。
.NET リモート処理を使用した多数のアプリケーションを作成している場合は、TcpChannel オブジェクトを使用して待機しているサーバー アプリケーション ドメインへの接続に、間違って HttpChannel オブジェクトを使用しないように注意が必要です。これを間違えると、クライアントは "The underlying connection was closed: An unexpected error occurred on a receive." という例外を受け取ります。クライアントがこの例外を受信したら、クライアントとサーバーに不一致なチャネルがないかどうかをチェックする必要があります。