共用方式為


通道 (Windows Web 服務)

通道會封裝兩個或多個合作對象之間的通訊內容,並用來傳送和接收訊息。

在用戶端上,使用 WsCreateChannel 來建立通道。 在伺服器上,使用 WsCreateChannelForListener 來建立用戶端可以使用 接聽程式接受的通道。

當您建立通道時,您可以指定下列資訊,以決定通道的本機行為和要使用的連線通訊協定。

使用通道之前,您必須呼叫 WsOpenChannel 函式來開啟通道,並指定通道和 端點位址,以及其他選擇性資訊。

如需通道狀態轉換的資訊,請參閱 通道狀態 主題。

如需通道的詳細資訊,請參閱 通道層概觀 主題。

下列 API 元素會與通道搭配使用。

回調 描述
WS_ABANDON_MESSAGE_CALLBACK 處理具有自定義通道系結之通道的 WsAbandonMessage 呼叫。
WS_ABORT_CHANNEL_CALLBACK 處理具有自定義通道系結之通道的 WsAbortChannel 呼叫。
WS_CLOSE_CHANNEL_CALLBACK 處理具有自定義通道系結之通道的 WsCloseChannel 呼叫。
WS_CREATE_CHANNEL_CALLBACK 處理具有自定義通道系結之通道的 WsCloseChannel 呼叫。
WS_CREATE_DECODER_CALLBACK 處理建立譯碼器實例。
WS_CREATE_ENCODER_CALLBACK 處理建立編碼器實例。
WS_DECODER_DECODE_CALLBACK 譯碼訊息。
WS_DECODER_END_CALLBACK 譯碼訊息的結尾。
WS_DECODER_GET_CONTENT_TYPE_CALLBACK 取得訊息的內容類型。
WS_DECODER_START_CALLBACK 開始譯碼訊息。
WS_ENCODER_ENCODE_CALLBACK 編碼訊息。
WS_ENCODER_END_CALLBACK 編碼訊息的結尾。
WS_ENCODER_GET_CONTENT_TYPE_CALLBACK 取得訊息的內容類型。
WS_ENCODER_START_CALLBACK 開始編碼訊息。
WS_FREE_CHANNEL_CALLBACK 處理具有自定義通道系結的通道 WsFreeChannel 呼叫。
WS_FREE_DECODER_CALLBACK 處理釋放譯碼器實例。
WS_FREE_ENCODER_CALLBACK 處理釋放編碼器實例。
WS_GET_CHANNEL_PROPERTY_CALLBACK 處理具有自定義通道系結之通道的 WsGetChannelProperty 呼叫。
WS_HTTP_REDIRECT_CALLBACK 當訊息即將自動重新導向至另一個使用 HTTP 自動重新導向功能的服務時叫用,如RFC2616中所述。
WS_OPEN_CHANNEL_CALLBACK 處理具有自定義通道系結的通道 WsOpenChannel 呼叫。
WS_READ_MESSAGE_END_CALLBACK 處理具有自定義通道系結之通道的 WsReadMessageEnd 呼叫。
WS_READ_MESSAGE_START_CALLBACK 處理具有自定義通道系結之通道的 WsReadMessageEnd 呼叫。
WS_RESET_CHANNEL_CALLBACK 處理具有自定義通道系結的通道 WsResetChannel 呼叫。
WS_SET_CHANNEL_PROPERTY_CALLBACK 處理具有自定義通道系結之通道的 WsSetChannelProperty 呼叫。
WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK 處理具有自定義通道系結之通道的 WsShutdownSessionChannel 呼叫。
WS_WRITE_MESSAGE_END_CALLBACK 處理具有自定義通道系結之通道的 WsWriteMessageEnd 呼叫。
WS_WRITE_MESSAGE_START_CALLBACK 處理具有自定義通道系結的通道 WsWriteMessageStart 呼叫。

 

列舉 描述
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 擷取通道參數所參考之通道的屬性。
WsOpenChannel 開啟端點的通道。
WsReadMessageEnd 從通道讀取訊息的結尾專案。
WsReadMessageStart 從通道讀取下一則訊息的標頭,並準備讀取本文專案。
WsReceiveMessage 接收訊息,並將訊息的本文還原串行化為值。
WsRequestReply 傳送要求訊息並接收相互關聯的回復訊息。
WsResetChannel 重設通道,使其可以重複使用。
WsSendMessage 使用串行化在通道上傳送訊息,以寫入本文專案。
WsSendReplyMessage 傳送回復所接收訊息的訊息。
WsSetChannelProperty 設定通道的屬性。
WsSetMessageProperty 設定訊息的屬性。
WsWriteMessageEnd 將訊息的結尾專案寫入通道。
WsWriteMessageStart 將訊息的標頭寫出至通道,並準備寫入本文專案。

 

處理 描述
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 用來指定通道的自定義 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