チャネル (Windows Web サービス)
チャネルは、2 つ以上のパーティ間の通信コンテキストをカプセル化し、メッセージの送受信に使用されます。
クライアントで、 WsCreateChannel を使用してチャネルを作成します。 サーバーで 、WsCreateChannelForListener を使用して、リスナーを使用してクライアントが受け入れられるチャネルを作成 します。
チャネルを作成するときに、チャネルのローカル動作と使用するワイヤ プロトコルの両方を決定する次の情報を指定します。
- チャネルのメッセージ交換パターンを識別する WS_CHANNEL_TYPE。
- 使用する転送プロトコルを識別する WS_CHANNEL_BINDING。
- チャネルに使用されるセキュリティを指定するWS_SECURITY_DESCRIPTION。 サーバーで使用するチャネルを作成する場合、これは、特定のリスナーに対して受け入れられるすべてのチャネルに対して 1 回指定されます。
- 追加のオプション設定を指定する set WS_CHANNEL_PROPERTYs (これらの設定の一覧については、 WS_CHANNEL_PROPERTY_ID 列挙を参照してください)。
チャネルを使用する前に、 WsOpenChannel 関数を呼び出し、チャネルと エンドポイント アドレスを他のオプションの情報と共に指定して、チャネルを開く必要があります。
チャネルの状態遷移の詳細については、「チャネルの 状態 」トピックを参照してください。
チャネルの詳細については、「 チャネル レイヤーの概要 」トピックを参照してください。
チャネルでは、次の API 要素が使用されます。
列挙 | 説明 |
---|---|
WS_CHANNEL_BINDING | チャネルに使用するプロトコル スタックを示します。 |
WS_CHANNEL_PROPERTY_ID | 各チャネル プロパティを ID で識別します。 |
WS_CHANNEL_STATE | チャネルの状態。 |
WS_CHANNEL_TYPE | チャネルがセッションフルかどうか、サポートされている通信の方向など、チャネルの基本的な特性を示します。 |
WS_ENCODING | さまざまなエンコード (メッセージ形式)。 |
WS_RECEIVE_OPTION | チャネルから受信するときにメッセージが必要かどうかを指定します。 |
WS_TRANSFER_MODE | 送受信されるメッセージをストリーミングするかバッファーに格納するかを指定します。 |
機能 | Description |
---|---|
WsAbandonMessage | チャネルのメッセージの残りの部分をスキップします。 |
WsAbortChannel | 指定したチャネルで保留中のすべての I/O を中止し、チャネルの状態を WS_CHANNEL_STATE_FAULTEDに設定します。 |
WsCloseChannel | 不要になったチャネルを閉じます。 |
WsCreateChannel | チャネルを作成します。 |
WsCreateChannelForListener | リスナーのチャネルを作成します。 |
WsFreeChannel | チャネルに関連付けられているメモリ リソースを解放します。 |
WsGetChannelProperty | channel パラメーターによって参照される Channel のプロパティを取得します。 |
WsOpenChannel | エンドポイントへのチャネルを開きます。 |
WsReadMessageEnd | チャネルからメッセージの終了要素を読み取ります。 |
WsReadMessageStart | チャネルから次のメッセージのヘッダーを読み取り、body 要素を読み取る準備をします。 |
WsReceiveMessage | メッセージを受信し、メッセージの本文を値として逆シリアル化します。 |
WsRequestReply | 要求メッセージを送信し、相関応答メッセージを受信します。 |
WsResetChannel | 再利用できるようにチャネルをリセットします。 |
WsSendMessage | シリアル化を使用して本文要素を書き込むメッセージをチャネルに送信します。 |
WsSendReplyMessage | 受信したメッセージへの応答であるメッセージを送信します。 |
WsSetChannelProperty | チャネルのプロパティを設定します。 |
WsSetMessageProperty | メッセージのプロパティを設定します。 |
WsWriteMessageEnd | メッセージの終了要素をチャネルに書き込みます。 |
WsWriteMessageStart | メッセージのヘッダーをチャネルに書き込み、body 要素を書き込む準備をします。 |
Handle | Description |
---|---|
WS_CHANNEL | チャネルを参照するために使用される不透明な型。 |
構造体 | 説明 |
---|---|
WS_CHANNEL_DECODER | 受信したメッセージのコンテンツ タイプとエンコードされたバイトを変換するコールバックのセット。 |
WS_CHANNEL_ENCODER | 送信されたメッセージのコンテンツ タイプとエンコードされたバイトを変換できるコールバックのセット。 |
WS_CHANNEL_PROPERTIES | WS_CHANNEL_PROPERTY構造体のセット。 |
WS_CHANNEL_PROPERTY | チャネル固有の設定。 |
WS_CUSTOM_CHANNEL_CALLBACKS | カスタム チャネルの実装を形成するコールバックのセット。 |
WS_CUSTOM_HTTP_PROXY | WS_CHANNEL_PROPERTY_ID列挙のWS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY値を使用して、チャネルのカスタム プロキシを指定するために使用されます。 |
WS_HTTP_HEADER_MAPPING | WS_HTTP_MESSAGE_MAPPINGの一部としてマップされる個々のヘッダー を表します。 |
WS_HTTP_MESSAGE_MAPPING | メッセージ オブジェクトで HTTP 要求または応答を表す方法に関する情報。 |
WS_HTTP_REDIRECT_CALLBACK_CONTEXT | HTTP 自動リダイレクト動作を制御するためのコールバック関数と状態を指定します。 |
WS_MESSAGE_DESCRIPTION | 入力と出力のスキーマは、特定の操作の説明に WS_MESSAGE 。 |