Share via


enumeração WS_LISTENER_PROPERTY_ID (webservices.h)

Cada propriedade de ouvinte é do tipo WS_LISTENER_PROPERTY, é identificada por uma ID e tem um valor associado. Se uma propriedade não for especificada quando o ouvinte for criado, seu valor padrão será usado.

Syntax

typedef enum {
  WS_LISTENER_PROPERTY_LISTEN_BACKLOG = 0,
  WS_LISTENER_PROPERTY_IP_VERSION = 1,
  WS_LISTENER_PROPERTY_STATE = 2,
  WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL = 3,
  WS_LISTENER_PROPERTY_CHANNEL_TYPE = 4,
  WS_LISTENER_PROPERTY_CHANNEL_BINDING = 5,
  WS_LISTENER_PROPERTY_CONNECT_TIMEOUT = 6,
  WS_LISTENER_PROPERTY_IS_MULTICAST = 7,
  WS_LISTENER_PROPERTY_MULTICAST_INTERFACES = 8,
  WS_LISTENER_PROPERTY_MULTICAST_LOOPBACK = 9,
  WS_LISTENER_PROPERTY_CLOSE_TIMEOUT = 10,
  WS_LISTENER_PROPERTY_TO_HEADER_MATCHING_OPTIONS = 11,
  WS_LISTENER_PROPERTY_TRANSPORT_URL_MATCHING_OPTIONS = 12,
  WS_LISTENER_PROPERTY_CUSTOM_LISTENER_CALLBACKS = 13,
  WS_LISTENER_PROPERTY_CUSTOM_LISTENER_PARAMETERS = 14,
  WS_LISTENER_PROPERTY_CUSTOM_LISTENER_INSTANCE = 15,
  WS_LISTENER_PROPERTY_DISALLOWED_USER_AGENT = 16
} WS_LISTENER_PROPERTY_ID;

Constantes

 
WS_LISTENER_PROPERTY_LISTEN_BACKLOG
Valor: 0
Usado com WsCreateListener ou WsGetListenerProperty para WS_TCP_CHANNEL_BINDING.


O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é um ULONG.

Isso controla o comprimento máximo da fila de conexões pendentes. Se definido como
SOMAXCONN, a lista de pendências será definida como um valor máximo razoável.
WS_LISTENER_PROPERTY_IP_VERSION
Valor: 1
Usado com WsCreateListener ou WsGetListenerProperty para WS_TCP_CHANNEL_BINDING ou WS_UDP_CHANNEL_BINDING.


O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é um valor WS_IP_VERSION .

Essa propriedade especifica qual versão de IP o ouvinte deve usar.


O valor padrão é WS_IP_VERSION_AUTO.
WS_LISTENER_PROPERTY_STATE
Valor: 2
Usado com WsGetListenerProperty para todos os tipos de canal.



O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é um valor WS_LISTENER_STATE .

Retorna o WS_LISTENER_STATE atual do ouvinte. O valor retornado é um instantâneo do estado atual, portanto, é
possível que o estado pode ter sido alterado antes que o chamador tenha
teve a chance de examinar o valor.
WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL
Valor: 3
Usado com WsCreateListener ou WsGetListenerProperty para todos os tipos de canal.


O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é um valor WS_CALLBACK_MODEL .

Esse valor indica o modelo de retorno de chamada assíncrono preferencial ao emitir
operações assíncronas para o ouvinte ou canais criados para ele
usando WsCreateChannelForListener.


O padrão é WS_LONG_CALLBACK.


O WS_SERVICE_HOST dá suporte apenas a WS_LONG_CALLBACK como um valor aceitável
para essa propriedade.
WS_LISTENER_PROPERTY_CHANNEL_TYPE
Valor: 4
Usado com WsGetListenerProperty para todos os tipos de canal.

O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é um valor WS_CHANNEL_TYPE .

Esta propriedade
especifica o padrão de troca de mensagens do canal que está sendo usado.
WS_LISTENER_PROPERTY_CHANNEL_BINDING
Valor: 5
Usado com WsGetListenerProperty para todos os tipos de canal.

O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é um valor WS_CHANNEL_BINDING .

Esta propriedade
especifica a associação do canal que está sendo usado.
WS_LISTENER_PROPERTY_CONNECT_TIMEOUT
Valor: 6
Usado com WsCreateListener ou WsGetListenerProperty para WS_TCP_CHANNEL_BINDING e WS_NAMEDPIPE_CHANNEL_BINDING.

O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é um ULONG.

Uma operação de aceitação aguardará
por um período infinito de tempo para aceitar o soquete TCP subjacente ou o pipe nomeado. Esse
tempo limite corresponde ao tempo dedicado ao handshake net.tcp ou net.pipe
que ocorre entre o cliente e o serviço depois que o cliente se conecta.
O valor de tempo limite é em milissegundos, em que o valor INFINITE indica
sem tempo limite. Use o
WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT para definir o correspondente
no lado do cliente.


O valor padrão é 15000 (15 segundos).
WS_LISTENER_PROPERTY_IS_MULTICAST
Valor: 7
Usado com WsCreateListener ou WsGetListenerProperty para WS_UDP_CHANNEL_BINDING com WS_CHANNEL_TYPE_DUPLEX para indicar que o ouvinte está escutando em um endereço multicast.


O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é um BOOL.

Observe que a configuração dessa propriedade não é suficiente ao escutar
um endereço multicast. O conjunto de interfaces também deve ser especificado
usando a propriedade WS_LISTENER_PROPERTY_MULTICAST_INTERFACES .


O canal não valida que o endereço é de fato um
um endereço multicast, mas define a reutilização do soquete
de modo que outro processo também possa abrir a mesma porta.


O valor padrão é FALSE.
WS_LISTENER_PROPERTY_MULTICAST_INTERFACES
Valor: 8
Usado com WsCreateListener ou WsSetListenerProperty para WS_UDP_CHANNEL_BINDING com WS_CHANNEL_TYPE_DUPLEX.


O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é uma matriz de valores ULONG .

O tamanho da propriedade
é sizeof(ULONG) multiplicado pelo número de valores. Cada valor representa
o índice de interface de um adaptador. Os índices dos adaptadores podem ser
obtido usando a função GetAdaptersAddresses.


Esse valor do WS_LISTENER_PROPERTY_IS_MULTICAST
A propriedade deve ser TRUE para usar essa propriedade.


O valor padrão é uma lista vazia (sem interfaces).
WS_LISTENER_PROPERTY_MULTICAST_LOOPBACK
Valor: 9
Usado com WsCreateListener para WS_UDP_CHANNEL_BINDING
com WS_CHANNEL_TYPE_DUPLEX.


O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é um BOOL.

Isso indica se as mensagens são ou não
enviados na interface de loopback são recebidos por este canal. Se TRUE,
em seguida, as mensagens são recebidas (caso contrário, elas não serão vistas pelo canal).


Esse valor do WS_LISTENER_PROPERTY_IS_MULTICAST
A propriedade deve ser TRUE para usar essa propriedade.


O valor padrão é TRUE.
WS_LISTENER_PROPERTY_CLOSE_TIMEOUT
Valor: 10
Usado com WsCreateListener ou WsGetListenerProperty para WS_HTTP_CHANNEL_BINDING com WS_CHANNEL_TYPE_REPLY.


O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é um ULONG.

Isso indica o número de milissegundos para
aguarde até que os clientes recebam dados de respostas quando WsCloseListener for chamado.


A finalidade desse tempo limite é permitir que os clientes continuem recebendo
dados de respostas HTTP enviados pelo servidor antes que o servidor HTTP se desconecte
as conexões do cliente.


O cálculo do valor de tempo limite usado é o seguinte:



  • No momento em que WsCloseListener é chamado, determine o
    hora em que a última resposta foi enviada (o último tempo de resposta). Para fins de
    neste cálculo de tempo limite, uma resposta é registrada como enviada depois que WsWriteMessageEnd é chamado para a resposta.

  • Calcule a diferença entre a hora atual e o último tempo de resposta.

  • Se a diferença for maior que o valor de tempo limite, o real
    o tempo limite usado é zero.

  • Se a diferença for menor ou igual ao valor de tempo limite, o
    tempo limite real usado é o valor de tempo limite menos a diferença.


O valor de tempo limite padrão é 5000 (5 segundos).
WS_LISTENER_PROPERTY_TO_HEADER_MATCHING_OPTIONS
Valor: 11
Usado com WsCreateListener para WS_TCP_CHANNEL_BINDING,
WS_HTTP_CHANNEL_BINDING, WS_UDP_CHANNEL_BINDING ou WS_NAMEDPIPE_CHANNEL_BINDING.


O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é um ULONG.

O valor da propriedade contém um conjunto de sinalizadores (consulte WS_URL_MATCHING_OPTIONS) que
especifique como corresponder à URL no WS_TO_HEADER de qualquer mensagem recebida.


O valor padrão é:



syntax<br><br>WS_MATCH_URL_THIS_HOST |<br>WS_MATCH_URL_EXACT_PATH |<br>WS_MATCH_URL_PORT |<br>WS_MATCH_URL_NO_QUERY<br><br>
WS_LISTENER_PROPERTY_TRANSPORT_URL_MATCHING_OPTIONS
Valor: 12
Usado com WsCreateListener para WS_TCP_CHANNEL_BINDING ou
WS_HTTP_CHANNEL_BINDING.


O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é um ULONG.

O valor da propriedade contém um conjunto de sinalizadores (consulte WS_URL_MATCHING_OPTIONS) que
especifique como corresponder à URL de transporte de todos os canais aceitos. Consulte
WS_CHANNEL_PROPERTY_TRANSPORT_URL para obter mais informações sobre a URL de transporte.


O valor padrão é:



syntax<br><br>WS_MATCH_URL_THIS_HOST |<br>WS_MATCH_URL_EXACT_PATH |<br>WS_MATCH_URL_PORT |<br>WS_MATCH_URL_NO_QUERY<br><br>

Essa propriedade controla apenas a verificação da mensagem depois que ela é recebida
pelo processo, não pelo roteamento da mensagem para o processo (que é determinado
pela URL passada para WsOpenListener).
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_CALLBACKS
Valor: 13
Usado com WsCreateListener para WS_CUSTOM_CHANNEL_BINDING.


O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é uma estrutura WS_CUSTOM_LISTENER_CALLBACKS .

Essa propriedade é usada para especificar retornos de chamada que
definir a implementação de um ouvinte personalizado.


Essa propriedade deve ser especificada quando WS_CUSTOM_CHANNEL_BINDING é usado.
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_PARAMETERS
Valor: 14
Usado com WsCreateListener para WS_CUSTOM_CHANNEL_BINDING.


O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é um ponteiro para um tipo de dados de tamanho arbitrário.
O tamanho da propriedade é o tamanho do tipo de dados.


Essa propriedade é usada para especificar parâmetros usados para criar o personalizado
implementação do ouvinte.


O valor dessa propriedade será passado para o
WS_CREATE_LISTENER_CALLBACK.


Se essa propriedade não for especificada, seu valor será NULL e size será zero.
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_INSTANCE
Valor: 15
Usado com WsGetChannelProperty para WS_CUSTOM_CHANNEL_BINDING.


O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é um void* e o tamanho da propriedade é sizeof(void*).

A valor
corresponde ao valor listenerInstance retornado pelo
WS_CREATE_LISTENER_CALLBACK.


Essa propriedade pode ser usada para obter o ouvinte subjacente
instância de um ouvinte personalizado. Isso permite que um chamador diretamente
interagir com a instância para casos em que o existente
O conjunto de propriedades do ouvinte ou funções de ouvinte é insuficiente.
WS_LISTENER_PROPERTY_DISALLOWED_USER_AGENT
Valor: 16
Usado com WsCreateListener para WS_HTTP_CHANNEL_BINDING.


O membro de valor que acompanha a estrutura WS_LISTENER_PROPERTY é um ponteiro para WS_DISALLOWED_USER_AGENT_SUBSTRINGS que especifica a lista de usuários não permitidos
sub-cadeias de caracteres de agentes.

  • Ao receber a solicitação HTTP, o valor do cabeçalho UserAgent é extraído.

  • Cada sub-cadeia de caracteres na lista é pesquisada no valor de cadeia de caracteres UserAgent extraído.

  • Se a subcadeia de caracteres for encontrada, a solicitação será rejeitada.




A lista por padrão contém a seguinte entrada

  • Navegadores da Web: Mozilla




Essa propriedade não se aplica aos ouvintes configurados com WS_ENCODING_RAW codificação.

Requisitos

   
Cliente mínimo com suporte Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Cabeçalho webservices.h