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, si specificano le informazioni seguenti, che determinano sia il comportamento locale del canale che il protocollo di collegamento da usare.
- Oggetto WS_CHANNEL_TYPE, che identifica il modello di scambio di messaggi del canale.
- Oggetto WS_CHANNEL_BINDING, che identifica il protocollo di trasferimento da usare.
- Oggetto 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 specificano impostazioni facoltative aggiuntive (per un elenco di queste impostazioni, vedere le enumerazioni WS_CHANNEL_PROPERTY_ID).
Prima di usare il canale, è necessario aprirlo chiamando la funzione WsOpenChannel e specificando il canale e l'indirizzo dell'endpoint , insieme ad altre informazioni facoltative.
Per informazioni sulle transizioni di stato per un canale, vedere l'argomentoChannel States.For information on the state transitions for a channel, see the Channel States topic.
Per altre informazioni sui canali, vedere l'argomento panoramica del livello del canale.
Gli elementi API seguenti vengono usati con i canali.
Richiamo | Descrizione |
---|---|
WS_ABANDON_MESSAGE_CALLBACK | Gestisce la chiamata WsAbandonMessage per un canale con associazione di canale personalizzata. |
WS_ABORT_CHANNEL_CALLBACK | Gestisce la chiamataWsAbortChannelper un canale con associazione di canale personalizzata. |
WS_CLOSE_CHANNEL_CALLBACK | Gestisce la chiamataWsCloseChannelper un canale con associazione di canale personalizzata. |
WS_CREATE_CHANNEL_CALLBACK | Gestisce la chiamataWsCloseChannelper un canale con associazione di canale personalizzata. |
WS_CREATE_DECODER_CALLBACK | Gestisce la creazione di un'istanza del 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 chiamataWsFreeChannelper un canale con associazione di canale personalizzata. |
WS_FREE_DECODER_CALLBACK | Gestisce la liberazione di un'istanza del decodificatore. |
WS_FREE_ENCODER_CALLBACK | Gestisce la liberazione di un'istanza del codificatore. |
WS_GET_CHANNEL_PROPERTY_CALLBACK | Gestisce il WsGetChannelProperty chiamata a 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 chiamataWsOpenChannelper 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 chiamataWsResetChannelper un canale con associazione di canale personalizzata. |
WS_SET_CHANNEL_PROPERTY_CALLBACK | Gestisce la WsSetChannelProperty chiamata a un canale con associazione di canale personalizzata. |
WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK | Gestisce la WsShutdownSessionChannel chiamata a un canale con associazione di canale personalizzata. |
WS_WRITE_MESSAGE_END_CALLBACK | Gestisce la chiamataWsWriteMessageEndper un canale con associazione di canale personalizzata. |
WS_WRITE_MESSAGE_START_CALLBACK | Gestisce il WsWriteMessageStart chiamata 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 è con sessione e quali indicazioni di comunicazione sono supportate. |
WS_ENCODING | Le diverse codifiche (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 tutte le operazioni di 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 del canale. |
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. |
Maneggiare | 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 che possono 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 formano l'implementazione di un canale personalizzato. |
WS_CUSTOM_HTTP_PROXY | utilizzato 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 su come rappresentare 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. |