Channel (Windows Web Services)

Les canaux encapsulent un contexte de communication entre deux ou plusieurs parties et sont utilisés pour envoyer et recevoir des messages.

Sur le client, utilisez WsCreateChannel pour créer un canal. Sur le serveur, utilisez WsCreateChannelForListener pour créer un canal qui peut être accepté par le client à l’aide d’un écouteur.

Lorsque vous créez un canal, vous spécifiez les informations suivantes, qui déterminent à la fois le comportement local du canal et le protocole de transmission à utiliser.

Avant d’utiliser le canal, vous devez l’ouvrir en appelant la fonction WsOpenChannel et en spécifiant le canal et l’adresse du point de terminaison, ainsi que d’autres informations facultatives.

Pour plus d’informations sur les transitions d’état pour un canal, consultez la rubrique États de canal .

Pour plus d’informations sur les canaux, consultez la rubrique Vue d’ensemble de la couche de canal.

Les éléments d’API suivants sont utilisés avec les canaux.

Rappel Description
WS_ABANDON_MESSAGE_CALLBACK Gère l’appel WsAbandonMessage pour un canal avec liaison de canal personnalisée.
WS_ABORT_CHANNEL_CALLBACK Gère l’appel WsAbortChannel pour un canal avec liaison de canal personnalisée.
WS_CLOSE_CHANNEL_CALLBACK Gère l’appel WsCloseChannel pour un canal avec liaison de canal personnalisée.
WS_CREATE_CHANNEL_CALLBACK Gère l’appel WsCloseChannel pour un canal avec liaison de canal personnalisée.
WS_CREATE_DECODER_CALLBACK Gère la création d’un décodeur instance.
WS_CREATE_ENCODER_CALLBACK Gère la création d’un instance d’encodeur.
WS_DECODER_DECODE_CALLBACK Décode un message.
WS_DECODER_END_CALLBACK Décode la fin d’un message.
WS_DECODER_GET_CONTENT_TYPE_CALLBACK Obtient le type de contenu du message.
WS_DECODER_START_CALLBACK Démarre le décodage d’un message.
WS_ENCODER_ENCODE_CALLBACK Encode un message.
WS_ENCODER_END_CALLBACK Encode la fin d’un message.
WS_ENCODER_GET_CONTENT_TYPE_CALLBACK Obtient le type de contenu du message.
WS_ENCODER_START_CALLBACK Démarre l’encodage d’un message.
WS_FREE_CHANNEL_CALLBACK Gère l’appel WsFreeChannel pour un canal avec liaison de canal personnalisée.
WS_FREE_DECODER_CALLBACK Gère la libération d’un décodeur instance.
WS_FREE_ENCODER_CALLBACK Gère la libération d’un encodeur instance.
WS_GET_CHANNEL_PROPERTY_CALLBACK Gère l’appel WsGetChannelProperty pour un canal avec liaison de canal personnalisée.
WS_HTTP_REDIRECT_CALLBACK Appelé lorsqu’un message est sur le point d’être automatiquement redirigé vers un autre service utilisant la fonctionnalité de redirection automatique HTTP, comme décrit dans RFC2616.
WS_OPEN_CHANNEL_CALLBACK Gère l’appel WsOpenChannel pour un canal avec une liaison de canal personnalisée.
WS_READ_MESSAGE_END_CALLBACK Gère l’appel WsReadMessageEnd pour un canal avec liaison de canal personnalisée.
WS_READ_MESSAGE_START_CALLBACK Gère l’appel WsReadMessageEnd pour un canal avec liaison de canal personnalisée.
WS_RESET_CHANNEL_CALLBACK Gère l’appel WsResetChannel pour un canal avec liaison de canal personnalisée.
WS_SET_CHANNEL_PROPERTY_CALLBACK Gère l’appel WsSetChannelProperty pour un canal avec liaison de canal personnalisée.
WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK Gère l’appel WsShutdownSessionChannel pour un canal avec liaison de canal personnalisée.
WS_WRITE_MESSAGE_END_CALLBACK Gère l’appel WsWriteMessageEnd pour un canal avec liaison de canal personnalisée.
WS_WRITE_MESSAGE_START_CALLBACK Gère l’appel WsWriteMessageStart pour un canal avec liaison de canal personnalisée.

 

Énumération Description
WS_CHANNEL_BINDING Indique la pile de protocoles à utiliser pour le canal.
WS_CHANNEL_PROPERTY_ID Identifie chaque propriété de canal par un ID.
WS_CHANNEL_STATE État du canal.
WS_CHANNEL_TYPE Indique les caractéristiques de base du canal, par exemple s’il est de session et quelles directions de communication sont prises en charge.
WS_ENCODING Les différents encodages (formats de message).
WS_RECEIVE_OPTION Spécifie si un message est requis lors de la réception à partir d’un canal.
WS_TRANSFER_MODE Spécifie si les messages envoyés ou reçus sont diffusés en continu ou mis en mémoire tampon.

 

Fonction Description
WsAbandonMessage Ignore le reste d’un message pour un canal.
WsAbortChannel Abandonne toutes les E/S en attente sur un canal spécifié et définit l’état du canal sur WS_CHANNEL_STATE_FAULTED.
WsCloseChannel Ferme un canal lorsqu’il n’est plus nécessaire.
WsCreateChannel Crée un canal.
WsCreateChannelForListener Crée un canal pour un écouteur.
WsFreeChannel Libère les ressources de mémoire associées à un canal.
WsGetChannelProperty Récupère une propriété du canal référencée par le paramètre channel.
WsOpenChannel Ouvre un canal à un point de terminaison.
WsReadMessageEnd Lit les éléments fermants d’un message à partir d’un canal.
WsReadMessageStart Lit les en-têtes du message suivant à partir du canal et se prépare à lire les éléments du corps.
WsReceiveMessage Reçoit un message et désérialise le corps du message en tant que valeur.
WsRequestReply Envoie un message de demande et reçoit un message de réponse corrélé.
WsResetChannel Réinitialisez un canal afin qu’il puisse être réutilisé.
WsSendMessage Envoie un message sur un canal à l’aide de la sérialisation pour écrire l’élément body.
WsSendReplyMessage Envoie un message qui est une réponse à un message reçu.
WsSetChannelProperty Définit une propriété d’un canal.
WsSetMessageProperty Définit une propriété d’un message.
WsWriteMessageEnd Écrit les éléments fermants d’un message dans le canal.
WsWriteMessageStart Écrivez les en-têtes d’un message dans le canal et préparez-vous à écrire les éléments du corps.

 

Handle Description
WS_CHANNEL Type opaque utilisé pour référencer un canal.

 

Structure Description
WS_CHANNEL_DECODER Ensemble de rappels qui transforment le type de contenu et les octets encodés d’un message reçu.
WS_CHANNEL_ENCODER Ensemble de rappels qui peuvent transformer le type de contenu et les octets encodés d’un message envoyé.
WS_CHANNEL_PROPERTIES Ensemble de structures WS_CHANNEL_PROPERTY .
WS_CHANNEL_PROPERTY Paramètre spécifique au canal.
WS_CUSTOM_CHANNEL_CALLBACKS Ensemble de rappels qui forment l’implémentation d’un canal personnalisé.
WS_CUSTOM_HTTP_PROXY permet de spécifier le proxy personnalisé pour le canal, à l’aide de la valeur WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY de l’énumération WS_CHANNEL_PROPERTY_ID .
WS_HTTP_HEADER_MAPPING Représente un en-tête individuel mappé dans le cadre de WS_HTTP_MESSAGE_MAPPING.
WS_HTTP_MESSAGE_MAPPING Informations sur la façon dont une requête ou une réponse HTTP doit être représentée dans un objet message.
WS_HTTP_REDIRECT_CALLBACK_CONTEXT Spécifie la fonction de rappel et l’état pour contrôler le comportement de redirection automatique HTTP.
WS_MESSAGE_DESCRIPTION Schéma des WS_MESSAGE d’entrée et de sortie pour une description d’opération donnée.