enumerazione WS_LISTENER_PROPERTY_ID (webservices.h)

Ogni proprietà listener è di tipo WS_LISTENER_PROPERTY, viene identificata da un ID e ha un valore associato. Se una proprietà non viene specificata quando viene creato il listener, viene usato il relativo valore predefinito.

Sintassi

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;

Costanti

 
WS_LISTENER_PROPERTY_LISTEN_BACKLOG
Valore: 0
Usato con WsCreateListener o WsGetListenerProperty per WS_TCP_CHANNEL_BINDING.


Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è un ULONG.

Questo controlla la lunghezza massima della coda di connessioni in sospeso. Se impostato su
SOMAXCONN, il backlog verrà impostato su un valore ragionevole massimo.
WS_LISTENER_PROPERTY_IP_VERSION
Valore: 1
Usato con WsCreateListener o WsGetListenerProperty per WS_TCP_CHANNEL_BINDING o WS_UDP_CHANNEL_BINDING.


Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è un valore WS_IP_VERSION .

Questa proprietà specifica quale versione IP deve usare il listener.


Il valore predefinito è WS_IP_VERSION_AUTO.
WS_LISTENER_PROPERTY_STATE
Valore: 2
Usato con WsGetListenerProperty per tutti i tipi di canale.



Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è un valore WS_LISTENER_STATE .

Restituisce la WS_LISTENER_STATE corrente del listener. Il valore restituito è uno snapshot dello stato corrente, quindi è
possibile che lo stato possa essere cambiato prima che il chiamante abbia
aveva la possibilità di esaminare il valore.
WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL
Valore: 3
Usato con WsCreateListener o WsGetListenerProperty per tutti i tipi di canale.


Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è un valore WS_CALLBACK_MODEL .

Questo valore indica il modello di callback asincrono preferito durante l'emissione
operazioni asincrone per il listener o i canali creati per esso
usando WsCreateChannelForListener.


Il valore predefinito è WS_LONG_CALLBACK.


Il WS_SERVICE_HOST supporta solo WS_LONG_CALLBACK come valore accettabile
per questa proprietà.
WS_LISTENER_PROPERTY_CHANNEL_TYPE
Valore: 4
Usato con WsGetListenerProperty per tutti i tipi di canale.

Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è un valore WS_CHANNEL_TYPE .

Questa proprietà
specifica il modello di scambio dei messaggi del canale usato.
WS_LISTENER_PROPERTY_CHANNEL_BINDING
Valore: 5
Usato con WsGetListenerProperty per tutti i tipi di canale.

Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è un valore WS_CHANNEL_BINDING .

Questa proprietà
specifica l'associazione del canale usato.
WS_LISTENER_PROPERTY_CONNECT_TIMEOUT
Valore: 6
Usato con WsCreateListener o WsGetListenerProperty per WS_TCP_CHANNEL_BINDING e WS_NAMEDPIPE_CHANNEL_BINDING.

Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è un ULONG.

Un'operazione di accettazione attenderà
per un intervallo infinito di tempo per accettare il socket TCP sottostante o la pipe denominata. This
timeout corrisponde alla quantità di tempo dedicata alla handshake net.tcp o net.pipe
che si svolge tra il client e il servizio una volta che il client si connette.
Il valore di timeout è in millisecondi, dove il valore INFINITE indica
nessun timeout. Usare il
WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT per impostare il corrispondente
valore sul lato client.


Il valore predefinito è 15000 (15 secondi).
WS_LISTENER_PROPERTY_IS_MULTICAST
Valore: 7
Usato con WsCreateListener o WsGetListenerProperty per WS_UDP_CHANNEL_BINDING con WS_CHANNEL_TYPE_DUPLEX per indicare che il listener è in ascolto su un indirizzo multicast.


Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è un valore BOOL.

Si noti che l'impostazione di questa proprietà non è sufficiente quando si ascolta
un indirizzo multicast. È necessario specificare anche il set di interfacce
usando la proprietà WS_LISTENER_PROPERTY_MULTICAST_INTERFACES .


Il canale non convalida che l'indirizzo sia effettivamente un
un indirizzo multicast, ma imposta il riutilizzo del socket
in modo che un altro processo possa anche aprire la stessa porta.


Il valore predefinito è FALSE.
WS_LISTENER_PROPERTY_MULTICAST_INTERFACES
Valore: 8
Usato con WsCreateListener o WsSetListenerProperty per WS_UDP_CHANNEL_BINDING con WS_CHANNEL_TYPE_DUPLEX.


Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è una matrice di valori ULONG .

Dimensioni della proprietà
è sizeof(ULONG) moltiplicato per il numero di valori. Ogni valore rappresenta
indice dell'interfaccia di un adattatore. Gli indici delle schede possono essere
ottenuto usando la funzione GetAdaptersAddresses.


Valore del WS_LISTENER_PROPERTY_IS_MULTICAST
la proprietà deve essere TRUE per usare questa proprietà.


Il valore predefinito è un elenco vuoto (nessuna interfaccia).
WS_LISTENER_PROPERTY_MULTICAST_LOOPBACK
Valore: 9
Usato con WsCreateListener per WS_UDP_CHANNEL_BINDING
con WS_CHANNEL_TYPE_DUPLEX.


Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è un valore BOOL.

Questo indica se i messaggi o meno
inviati nell'interfaccia di loopback vengono ricevuti da questo canale. Se TRUE,
i messaggi vengono ricevuti (in caso contrario, non verranno visualizzati dal canale).


Valore del WS_LISTENER_PROPERTY_IS_MULTICAST
la proprietà deve essere TRUE per usare questa proprietà.


Il valore predefinito è TRUE.
WS_LISTENER_PROPERTY_CLOSE_TIMEOUT
Valore: 10
Usato con WsCreateListener o WsGetListenerProperty per WS_HTTP_CHANNEL_BINDING con WS_CHANNEL_TYPE_REPLY.


Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è un ULONG.

Questo indica il numero di millisecondi da
attendere che i client ricevano dati dalle risposte quando viene chiamato WsCloseListener .


Lo scopo di questo timeout è consentire ai client di continuare a ricevere
dati dalle risposte HTTP inviate dal server prima che il server HTTP si disconnette
connessioni client.


Il calcolo del valore di timeout usato è il seguente:



  • Al momento in cui viene chiamato WsCloseListener , determinare l'oggetto
    ora in cui è stata inviata l'ultima risposta (l'ultima volta di risposta). Ai fini di
    questo calcolo del timeout, una risposta viene registrata come inviata una volta che WsWriteMessageEnd è stato chiamato per la risposta.

  • Calcolare la differenza tra l'ora corrente e l'ora dell'ultima risposta.

  • Se la differenza è maggiore del valore di timeout, il valore effettivo
    timeout usato è zero.

  • Se la differenza è minore o uguale al valore di timeout,
    il timeout effettivo usato è il valore di timeout meno la differenza.


Il valore di timeout predefinito è 5000 (5 secondi).
WS_LISTENER_PROPERTY_TO_HEADER_MATCHING_OPTIONS
Valore: 11
Usato con WsCreateListener per WS_TCP_CHANNEL_BINDING,
WS_HTTP_CHANNEL_BINDING, WS_UDP_CHANNEL_BINDING o WS_NAMEDPIPE_CHANNEL_BINDING.


Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è un ULONG.

Il valore della proprietà contiene un set di flag (vedere WS_URL_MATCHING_OPTIONS) che
specificare come corrispondere all'URL nella WS_TO_HEADER di tutti i messaggi ricevuti.


Il valore predefinito è:



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
Valore: 12
Usato con WsCreateListener per WS_TCP_CHANNEL_BINDING o
WS_HTTP_CHANNEL_BINDING.


Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è un ULONG.

Il valore della proprietà contiene un set di flag (vedere WS_URL_MATCHING_OPTIONS) che
specificare come corrispondere all'URL di trasporto di tutti i canali accettati. Vedere
WS_CHANNEL_PROPERTY_TRANSPORT_URL per altre informazioni sull'URL di trasporto.


Il valore predefinito è:



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>

Questa proprietà controlla solo la verifica del messaggio dopo che è stata ricevuta
dal processo, non il routing del messaggio al processo (che viene determinato
dall'URL passato a WsOpenListener.
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_CALLBACKS
Valore: 13
Usato con WsCreateListener per WS_CUSTOM_CHANNEL_BINDING.


Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è una struttura WS_CUSTOM_LISTENER_CALLBACKS .

Questa proprietà viene usata per specificare i callback che
definire l'implementazione di un listener personalizzato.


Questa proprietà deve essere specificata quando viene usato WS_CUSTOM_CHANNEL_BINDING .
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_PARAMETERS
Valore: 14
Usato con WsCreateListener per WS_CUSTOM_CHANNEL_BINDING.


Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è un puntatore a un tipo di dati di dimensioni arbitrarie.
Le dimensioni della proprietà sono le dimensioni del tipo di dati.


Questa proprietà viene usata per specificare i parametri usati per creare la proprietà personalizzata
implementazione del listener.


Il valore di questa proprietà verrà passato all'oggetto
WS_CREATE_LISTENER_CALLBACK.


Se questa proprietà non è specificata, il relativo valore è NULL e la dimensione è zero.
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_INSTANCE
Valore: 15
Usato con WsGetChannelProperty per WS_CUSTOM_CHANNEL_BINDING.


Il membro del valore accompagnato della struttura WS_LISTENER_PROPERTY è un void* e la dimensione della proprietà è sizeof(void*).

Valore
corrisponde al valore listenerInstance restituito dall'oggetto
WS_CREATE_LISTENER_CALLBACK.


Questa proprietà può essere usata per ottenere il listener sottostante
istanza di un listener personalizzato. In questo modo un chiamante può essere direttamente
interagire con l'istanza per i casi in cui l'esistente
set di proprietà del listener o funzioni listener non sono sufficienti.
WS_LISTENER_PROPERTY_DISALLOWED_USER_AGENT
Valore: 16
Usato con WsCreateListener per WS_HTTP_CHANNEL_BINDING.


Il membro del valore di accompagnamento della struttura WS_LISTENER_PROPERTY è un puntatore a WS_DISALLOWED_USER_AGENT_SUBSTRINGS che specifica l'elenco di utenti non consentiti
agenti sotto stringhe.

  • Dopo aver ricevuto la richiesta HTTP, il valore dell'intestazione UserAgent viene estratto.

  • Ogni stringa secondaria nell'elenco viene eseguita la ricerca nel valore della stringa UserAgent estratto.

  • Se la sottostringa viene trovata la richiesta viene rifiutata.




L'elenco per impostazione predefinita contiene la voce seguente

  • Web Browser: Mozilla




Questa proprietà non si applica ai listener configurati con la codifica WS_ENCODING_RAW .

Requisiti

   
Client minimo supportato Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2 [app desktop | App UWP]
Intestazione webservices.h