Condividi tramite


Canale (Servizi Web Windows)

I canali incapsulano un contesto di comunicazione tra due o più parti e vengono usati per inviare e ricevere messaggi.

Nel client usare WsCreateChannel per creare un canale. Nel server usare WsCreateChannelForListener per creare un canale che può essere accettato dal client usando un listener.

Quando si crea un canale, specificare le informazioni seguenti, che determina sia il comportamento locale del canale che il protocollo di fili da usare.

Prima di usare il canale, è necessario aprirlo chiamando la funzione WsOpenChannel e specificando l'indirizzo del canale e dell'endpoint, insieme ad altre informazioni facoltative.

Per informazioni sulle transizioni di stato per un canale, vedere l'argomento Stati canale .

Per altre informazioni sui canali, vedere l'argomento Panoramica del livello di canale .

Gli elementi API seguenti vengono usati con i canali.

Callback Descrizione
WS_ABANDON_MESSAGE_CALLBACK Gestisce la chiamata WsAbandonMessage per un canale con associazione di canale personalizzata.
WS_ABORT_CHANNEL_CALLBACK Gestisce la chiamata WsAbortChannel per un canale con associazione di canale personalizzata.
WS_CLOSE_CHANNEL_CALLBACK Gestisce la chiamata WsCloseChannel per un canale con associazione di canale personalizzata.
WS_CREATE_CHANNEL_CALLBACK Gestisce la chiamata WsCloseChannel per un canale con associazione di canale personalizzata.
WS_CREATE_DECODER_CALLBACK Gestisce la creazione di un'istanza di decodificatore.
WS_CREATE_ENCODER_CALLBACK Gestisce la creazione di un'istanza del codificatore.
WS_DECODER_DECODE_CALLBACK Decodifica un messaggio.
WS_DECODER_END_CALLBACK Decodifica la fine di un messaggio.
WS_DECODER_GET_CONTENT_TYPE_CALLBACK Ottiene il tipo di contenuto del messaggio.
WS_DECODER_START_CALLBACK Avvia la decodifica di un messaggio.
WS_ENCODER_ENCODE_CALLBACK Codifica un messaggio.
WS_ENCODER_END_CALLBACK Codifica la fine di un messaggio.
WS_ENCODER_GET_CONTENT_TYPE_CALLBACK Ottiene il tipo di contenuto del messaggio.
WS_ENCODER_START_CALLBACK Avvia la codifica di un messaggio.
WS_FREE_CHANNEL_CALLBACK Gestisce la chiamata WsFreeChannel per un canale con associazione di canale personalizzata.
WS_FREE_DECODER_CALLBACK Gestisce la liberazione di un'istanza di decodificatore.
WS_FREE_ENCODER_CALLBACK Gestisce la liberazione di un'istanza del codificatore.
WS_GET_CHANNEL_PROPERTY_CALLBACK Gestisce la chiamata WsGetChannelProperty per un canale con associazione di canale personalizzata.
WS_HTTP_REDIRECT_CALLBACK Richiamato quando un messaggio sta per essere reindirizzato automaticamente a un altro servizio usando la funzionalità di reindirizzamento automatico HTTP come descritto in RFC2616.
WS_OPEN_CHANNEL_CALLBACK Gestisce la chiamata WsOpenChannel per un canale con associazione di canale personalizzata.
WS_READ_MESSAGE_END_CALLBACK Gestisce la chiamata WsReadMessageEnd per un canale con associazione di canale personalizzata.
WS_READ_MESSAGE_START_CALLBACK Gestisce la chiamata WsReadMessageEnd per un canale con associazione di canale personalizzata.
WS_RESET_CHANNEL_CALLBACK Gestisce la chiamata WsResetChannel per un canale con associazione di canale personalizzata.
WS_SET_CHANNEL_PROPERTY_CALLBACK Gestisce la chiamata WsSetChannelProperty per un canale con associazione di canale personalizzata.
WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK Gestisce la chiamata WsShutdownSessionChannel per un canale con associazione di canale personalizzata.
WS_WRITE_MESSAGE_END_CALLBACK Gestisce la chiamata WsWriteMessageEnd per un canale con associazione di canale personalizzata.
WS_WRITE_MESSAGE_START_CALLBACK Gestisce la chiamata WsWriteMessageStart per un canale con associazione di canale personalizzata.

 

Enumerazione Descrizione
WS_CHANNEL_BINDING Indica lo stack di protocolli da usare per il canale.
WS_CHANNEL_PROPERTY_ID Identifica ogni proprietà del canale in base a un ID.
WS_CHANNEL_STATE Stato del canale.
WS_CHANNEL_TYPE Indica le caratteristiche di base del canale, ad esempio se è sessione e quali direzioni della comunicazione sono supportate.
WS_ENCODING Codifica diverse (formati di messaggio).
WS_RECEIVE_OPTION Specifica se è necessario un messaggio quando si riceve da un canale.
WS_TRANSFER_MODE Specifica se i messaggi inviati o ricevuti vengono trasmessi o memorizzati nel buffer.

 

Funzione Descrizione
WsAbandonMessage Ignora il resto di un messaggio per un canale.
WsAbortChannel Interrompe tutti gli I/O in sospeso in un canale specificato e imposta lo stato del canale su WS_CHANNEL_STATE_FAULTED.
WsCloseChannel Chiude un canale quando non è più necessario.
WsCreateChannel Crea un canale.
WsCreateChannelForListener Crea un canale per un listener.
WsFreeChannel Rilascia le risorse di memoria associate a un canale.
WsGetChannelProperty Recupera una proprietà del canale a cui fa riferimento il parametro channel.
WsOpenChannel Apre un canale a un endpoint.
WsReadMessageEnd Legge gli elementi di chiusura di un messaggio da un canale.
WsReadMessageStart Legge le intestazioni del messaggio successivo dal canale e prepara a leggere gli elementi del corpo.
WsReceiveMessage Riceve un messaggio e deserializza il corpo del messaggio come valore.
WsRequestReply Invia un messaggio di richiesta e riceve un messaggio di risposta correlato.
WsResetChannel Reimpostare un canale in modo che possa essere riutilizzato.
WsSendMessage Invia un messaggio su un canale utilizzando la serializzazione per scrivere l'elemento del corpo.
WsSendReplyMessage Invia un messaggio che rappresenta una risposta a un messaggio ricevuto.
WsSetChannelProperty Imposta una proprietà di un canale.
WsSetMessageProperty Imposta una proprietà di un messaggio.
WsWriteMessageEnd Scrive gli elementi di chiusura di un messaggio nel canale.
WsWriteMessageStart Scrivere le intestazioni di un messaggio nel canale e prepararsi a scrivere gli elementi del corpo.

 

Handle Descrizione
WS_CHANNEL Tipo opaco utilizzato per fare riferimento a un canale.

 

Struttura Descrizione
WS_CHANNEL_DECODER Set di callback che trasformano il tipo di contenuto e i byte codificati di un messaggio ricevuto.
WS_CHANNEL_ENCODER Set di callback in grado di trasformare il tipo di contenuto e i byte codificati di un messaggio inviato.
WS_CHANNEL_PROPERTIES Set di strutture WS_CHANNEL_PROPERTY .
WS_CHANNEL_PROPERTY Impostazione specifica del canale.
WS_CUSTOM_CHANNEL_CALLBACKS Set di callback che costituiscono l'implementazione di un canale personalizzato.
WS_CUSTOM_HTTP_PROXY usato per specificare il proxy personalizzato per il canale, usando il valore WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY dell'enumerazione WS_CHANNEL_PROPERTY_ID .
WS_HTTP_HEADER_MAPPING Rappresenta una singola intestazione mappata come parte di WS_HTTP_MESSAGE_MAPPING.
WS_HTTP_MESSAGE_MAPPING Informazioni sulla modalità di rappresentazione di una richiesta o una risposta HTTP in un oggetto messaggio.
WS_HTTP_REDIRECT_CALLBACK_CONTEXT Specifica la funzione di callback e lo stato per controllare il comportamento di reindirizzamento automatico HTTP.
WS_MESSAGE_DESCRIPTION Schema per l'input e l'output WS_MESSAGE per una determinata descrizione dell'operazione.