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.
- WS_CHANNEL_TYPE, che identifica il modello di scambio dei messaggi del canale.
- WS_CHANNEL_BINDING, che identifica il protocollo di trasferimento da usare.
- WS_SECURITY_DESCRIPTION, che specifica la sicurezza usata per il canale. Quando si creano canali da usare in un server, questo viene specificato una volta per tutti i canali che verranno accettati per un determinato listener.
- Set WS_CHANNEL_PROPERTYs, che specificare impostazioni facoltative aggiuntive (per un elenco di queste impostazioni, vedere l'enumerazione WS_CHANNEL_PROPERTY_ID ).
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. |