通道 (Windows Web Services)
通道會封裝兩個或多個合作物件之間的通訊內容,並用來傳送和接收訊息。
在用戶端上,使用 WsCreateChannel 建立通道。 在伺服器上,使用 WsCreateChannelForListener 來建立用戶端可以使用接 聽程式接受的通道。
當您建立通道時,您可以指定下列資訊,以決定要使用的通道和線路通訊協定的本機行為。
- WS_CHANNEL_TYPE,可識別通道的訊息交換模式。
- WS_CHANNEL_BINDING,識別要使用的傳輸通訊協定。
- WS_SECURITY_DESCRIPTION,指定用於通道的安全性。 建立要在伺服器中使用的通道時,這會針對將接受給指定接聽程式的所有通道指定一次。
- 設定 WS_CHANNEL_PROPERTYs,指定這些設定清單的其他選擇性設定 (,請參閱 WS_CHANNEL_PROPERTY_ID 列舉) 。
使用通道之前,您必須呼叫 WsOpenChannel 函式並指定通道和 端點位址,以及其他選擇性資訊來開啟通道。
如需通道狀態轉換的資訊,請參閱 通道狀態 主題。
如需通道的詳細資訊,請參閱 通道層概觀 主題。
下列 API 元素會與通道搭配使用。
列舉型別 | 描述 |
---|---|
WS_CHANNEL_BINDING | 表示要用於通道的通訊協定堆疊。 |
WS_CHANNEL_PROPERTY_ID | 依識別碼識別每個通道屬性。 |
WS_CHANNEL_STATE | 通道的狀態。 |
WS_CHANNEL_TYPE | 指出通道的基本特性,例如是否為會話,以及支援的通訊方向。 |
WS_ENCODING | 訊息格式) (不同的編碼方式。 |
WS_RECEIVE_OPTION | 指定從通道接收時是否需要訊息。 |
WS_TRANSFER_MODE | 指定傳送或接收的訊息是串流處理或緩衝處理。 |
函式 | 描述 |
---|---|
WsAbandonMessage | 略過通道訊息的其餘部分。 |
WsAbortChannel | 中止指定通道上的所有擱置 I/O,並將通道狀態設定為 WS_CHANNEL_STATE_FAULTED。 |
WsCloseChannel | 不再需要通道時關閉通道。 |
WsCreateChannel | 建立通道。 |
WsCreateChannelForListener | 建立接聽程式的通道。 |
WsFreeChannel | 釋放與通道相關聯的記憶體資源。 |
WsGetChannelProperty | 擷取通道參數所參考之 Channel 的屬性。 |
WsOpenChannel | 開啟端點的通道。 |
WsReadMessageEnd | 從通道讀取訊息的結尾元素。 |
WsReadMessageStart | 從通道讀取下一個訊息的標頭,並準備讀取本文專案。 |
WsReceiveMessage | 接收訊息,並將訊息本文還原序列化為值。 |
WsRequestReply | 傳送要求訊息並接收相互關聯的回復訊息。 |
WsResetChannel | 重設通道,以便重複使用。 |
WsSendMessage | 使用序列化在通道上傳送訊息,以寫入 body 元素。 |
WsSendReplyMessage | 傳送訊息,該訊息是已接收之訊息的回復。 |
WsSetChannelProperty | 設定通道的屬性。 |
WsSetMessageProperty | 設定訊息的屬性。 |
WsWriteMessageEnd | 將訊息的結尾元素寫入通道。 |
WsWriteMessageStart | 將訊息的標頭寫出至通道,並準備撰寫本文專案。 |
Handle | Description |
---|---|
WS_CHANNEL | 用來參考通道的不透明類型。 |
結構 | Description |
---|---|
WS_CHANNEL_DECODER | 一組回呼,可轉換所接收訊息的內容類型和編碼位元組。 |
WS_CHANNEL_ENCODER | 一組回呼,可轉換所傳送訊息的內容類型和編碼位元組。 |
WS_CHANNEL_PROPERTIES | 一組 WS_CHANNEL_PROPERTY 結構。 |
WS_CHANNEL_PROPERTY | 通道特定設定。 |
WS_CUSTOM_CHANNEL_CALLBACKS | 一組回呼,形成自訂通道的實作。 |
WS_CUSTOM_HTTP_PROXY | 用來指定通道的自訂 Proxy,使用 WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY WS_CHANNEL_PROPERTY_ID 列舉的值。 |
WS_HTTP_HEADER_MAPPING | 表示對應為 WS_HTTP_MESSAGE_MAPPING一部分的個別標頭。 |
WS_HTTP_MESSAGE_MAPPING | 訊息物件中應如何表示 HTTP 要求或回應的相關資訊。 |
WS_HTTP_REDIRECT_CALLBACK_CONTEXT | 指定用來控制 HTTP 自動重新導向行為的回呼函式和狀態。 |
WS_MESSAGE_DESCRIPTION | 指定作業描述的輸入和輸出 架構WS_MESSAGE 。 |