Canal (Windows Web Services)
Os canais encapsulam um contexto de comunicação entre duas ou mais partes e são usados para enviar e receber mensagens.
No cliente, use WsCreateChannel para criar um canal. No servidor, use WsCreateChannelForListener para criar um canal que possa ser aceito pelo cliente usando um ouvinte .
Ao criar um canal, especifique as informações a seguir, que determinam o comportamento local do canal e o protocolo de transmissão a ser usado.
- Um WS_CHANNEL_TYPE, que identifica o padrão de troca de mensagens do canal.
- Um WS_CHANNEL_BINDING, que identifica o protocolo de transferência a ser usado.
- Um WS_SECURITY_DESCRIPTION, que especifica a segurança usada para o canal. Ao criar canais para uso em um servidor, isso é especificado uma vez para todos os canais que serão aceitos para um determinado ouvinte.
- Um conjunto WS_CHANNEL_PROPERTYs, que especifica configurações opcionais adicionais (para uma lista dessas configurações, consulte as enumerações WS_CHANNEL_PROPERTY_ID).
Antes de usar o canal, você deve abri-lo chamando a função WsOpenChannel e especificando o canal e endereço do ponto de extremidade, juntamente com outras informações opcionais.
Para obter informações sobre as transições de estado para um canal, consulte o tópico Channel States.
Para obter mais informações sobre canais, consulte o tópico visão geral da camada de canal.
Os seguintes elementos de API são usados com canais.
Callback | Descrição |
---|---|
WS_ABANDON_MESSAGE_CALLBACK | Manipula a chamada WsAbandonMessage para um canal com associação de canal personalizado. |
WS_ABORT_CHANNEL_CALLBACK | Manipula a chamadaWsAbortChannelpara um canal com associação de canal personalizado. |
WS_CLOSE_CHANNEL_CALLBACK | Manipula a chamada WsCloseChannel para um canal com associação de canal personalizado. |
WS_CREATE_CHANNEL_CALLBACK | Manipula a chamada WsCloseChannel para um canal com associação de canal personalizado. |
WS_CREATE_DECODER_CALLBACK | Manipula a criação de uma instância de decodificador. |
WS_CREATE_ENCODER_CALLBACK | Manipula a criação de uma instância do codificador. |
WS_DECODER_DECODE_CALLBACK | Decodifica uma mensagem. |
WS_DECODER_END_CALLBACK | Decodifica o final de uma mensagem. |
WS_DECODER_GET_CONTENT_TYPE_CALLBACK | Obtém o tipo de conteúdo da mensagem. |
WS_DECODER_START_CALLBACK | Inicia a decodificação de uma mensagem. |
WS_ENCODER_ENCODE_CALLBACK | Codifica uma mensagem. |
WS_ENCODER_END_CALLBACK | Codifica o final de uma mensagem. |
WS_ENCODER_GET_CONTENT_TYPE_CALLBACK | Obtém o tipo de conteúdo da mensagem. |
WS_ENCODER_START_CALLBACK | Inicia a codificação de uma mensagem. |
WS_FREE_CHANNEL_CALLBACK | Manipula a chamadaWsFreeChannelpara um canal com associação de canal personalizada. |
WS_FREE_DECODER_CALLBACK | Manipula a liberação de uma instância de decodificador. |
WS_FREE_ENCODER_CALLBACK | Manipula a liberação de uma instância do codificador. |
WS_GET_CHANNEL_PROPERTY_CALLBACK | Manipula a chamada WsGetChannelProperty para um canal com associação de canal personalizado. |
WS_HTTP_REDIRECT_CALLBACK | Invocado quando uma mensagem está prestes a ser redirecionada automaticamente para outro serviço utilizando a funcionalidade de redirecionamento automático HTTP, conforme descrito em RFC2616. |
WS_OPEN_CHANNEL_CALLBACK | Manipula a chamada WsOpenChannel para um canal com associação de canal personalizado. |
WS_READ_MESSAGE_END_CALLBACK | Manipula a chamada WsReadMessageEnd para um canal com associação de canal personalizado. |
WS_READ_MESSAGE_START_CALLBACK | Manipula a chamada WsReadMessageEnd para um canal com associação de canal personalizado. |
WS_RESET_CHANNEL_CALLBACK | Manipula a chamada WsResetChannel para um canal com associação de canal personalizada. |
WS_SET_CHANNEL_PROPERTY_CALLBACK | Manipula a chamada WsSetChannelProperty para um canal com associação de canal personalizada. |
WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK | Manipula a chamadaWsShutdownSessionChannelpara um canal com associação de canal personalizado. |
WS_WRITE_MESSAGE_END_CALLBACK | Manipula a chamada WsWriteMessageEnd para um canal com associação de canal personalizado. |
WS_WRITE_MESSAGE_START_CALLBACK | Manipula a chamada WsWriteMessageStart para um canal com associação de canal personalizada. |
Enumeração | Descrição |
---|---|
WS_CHANNEL_BINDING | Indica a pilha de protocolo a ser usada para o canal. |
WS_CHANNEL_PROPERTY_ID | Identifica cada propriedade de canal por uma ID. |
WS_CHANNEL_STATE | O estado do canal. |
WS_CHANNEL_TYPE | Indica as características básicas do canal, como se ele é sessão e quais direções de comunicação têm suporte. |
WS_ENCODING | As diferentes codificações (formatos de mensagem). |
WS_RECEIVE_OPTION | Especifica se uma mensagem é necessária ao receber de um canal. |
WS_TRANSFER_MODE | Especifica se as mensagens enviadas ou recebidas são transmitidas ou armazenadas em buffer. |
Função | Descrição |
---|---|
WsAbandonMessage | Ignora o restante de uma mensagem para um canal. |
WsAbortChannel | Anula todas as E/Ss pendentes em um canal especificado e define o estado do canal como WS_CHANNEL_STATE_FAULTED. |
WsCloseChannel | Fecha um canal quando ele não é mais necessário. |
WsCreateChannel | Cria um canal. |
WsCreateChannelForListener | Cria um canal para um ouvinte. |
WsFreeChannel | Libera os recursos de memória associados a um canal. |
WsGetChannelProperty | Recupera uma propriedade do Canal referenciada pelo parâmetro de canal. |
WsOpenChannel | Abre um canal para um ponto de extremidade. |
WsReadMessageEnd | Lê os elementos de fechamento de uma mensagem de um canal. |
WsReadMessageStart | Lê os cabeçalhos da próxima mensagem do canal e se prepara para ler os elementos do corpo. |
WsReceiveMessage | Recebe uma mensagem e desserializa o corpo da mensagem como um valor. |
WsRequestReply | Envia uma mensagem de solicitação e recebe uma mensagem de resposta correlacionada. |
WsResetChannel | Redefina um canal para que ele possa ser reutilizado. |
WsSendMessage | Envia uma mensagem em um canal usando a serialização para gravar o elemento do corpo. |
WsSendReplyMessage | Envia uma mensagem que é uma resposta a uma mensagem recebida. |
WsSetChannelProperty | Define uma propriedade de um canal. |
WsSetMessageProperty | Define uma propriedade de uma mensagem. |
WsWriteMessageEnd | Grava os elementos de fechamento de uma mensagem no canal. |
WsWriteMessageStart | Escreva os cabeçalhos de uma mensagem no canal e prepare-se para gravar os elementos do corpo. |
Manejar | Descrição |
---|---|
WS_CHANNEL | Um tipo opaco usado para fazer referência a um canal. |
Estrutura | Descrição |
---|---|
WS_CHANNEL_DECODER | Um conjunto de retornos de chamada que transformam o tipo de conteúdo e os bytes codificados de uma mensagem recebida. |
WS_CHANNEL_ENCODER | Um conjunto de retornos de chamada que podem transformar o tipo de conteúdo e bytes codificados de uma mensagem enviada. |
WS_CHANNEL_PROPERTIES | Um conjunto de estruturas WS_CHANNEL_PROPERTY. |
WS_CHANNEL_PROPERTY | Uma configuração específica do canal. |
WS_CUSTOM_CHANNEL_CALLBACKS | Um conjunto de retornos de chamada que formam a implementação de um canal personalizado. |
WS_CUSTOM_HTTP_PROXY | usado para especificar o proxy personalizado para o canal, usando o valor WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY da enumeração WS_CHANNEL_PROPERTY_ID. |
WS_HTTP_HEADER_MAPPING | Representa um cabeçalho individual mapeado como parte do WS_HTTP_MESSAGE_MAPPING. |
WS_HTTP_MESSAGE_MAPPING | Informações sobre como uma solicitação OU resposta HTTP deve ser representada em um objeto de mensagem. |
WS_HTTP_REDIRECT_CALLBACK_CONTEXT | Especifica a função de retorno de chamada e o estado para controlar o comportamento de redirecionamento automático HTTP. |
WS_MESSAGE_DESCRIPTION | O esquema do WS_MESSAGE de entrada e saída para uma determinada descrição da operação. |