Condividi tramite


enumerazione WS_CHANNEL_PROPERTY_ID (webservices.h)

Ogni proprietà del canale viene identificata da un ID e ha un valore associato. Se una proprietà non viene specificata quando viene creato il canale, viene usato il relativo valore predefinito.

Sintassi

typedef enum {
  WS_CHANNEL_PROPERTY_MAX_BUFFERED_MESSAGE_SIZE = 0,
  WS_CHANNEL_PROPERTY_MAX_STREAMED_MESSAGE_SIZE = 1,
  WS_CHANNEL_PROPERTY_MAX_STREAMED_START_SIZE = 2,
  WS_CHANNEL_PROPERTY_MAX_STREAMED_FLUSH_SIZE = 3,
  WS_CHANNEL_PROPERTY_ENCODING = 4,
  WS_CHANNEL_PROPERTY_ENVELOPE_VERSION = 5,
  WS_CHANNEL_PROPERTY_ADDRESSING_VERSION = 6,
  WS_CHANNEL_PROPERTY_MAX_SESSION_DICTIONARY_SIZE = 7,
  WS_CHANNEL_PROPERTY_STATE = 8,
  WS_CHANNEL_PROPERTY_ASYNC_CALLBACK_MODEL = 9,
  WS_CHANNEL_PROPERTY_IP_VERSION = 10,
  WS_CHANNEL_PROPERTY_RESOLVE_TIMEOUT = 11,
  WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT = 12,
  WS_CHANNEL_PROPERTY_SEND_TIMEOUT = 13,
  WS_CHANNEL_PROPERTY_RECEIVE_RESPONSE_TIMEOUT = 14,
  WS_CHANNEL_PROPERTY_RECEIVE_TIMEOUT = 15,
  WS_CHANNEL_PROPERTY_CLOSE_TIMEOUT = 16,
  WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS = 17,
  WS_CHANNEL_PROPERTY_TRANSFER_MODE = 18,
  WS_CHANNEL_PROPERTY_MULTICAST_INTERFACE = 19,
  WS_CHANNEL_PROPERTY_MULTICAST_HOPS = 20,
  WS_CHANNEL_PROPERTY_REMOTE_ADDRESS = 21,
  WS_CHANNEL_PROPERTY_REMOTE_IP_ADDRESS = 22,
  WS_CHANNEL_PROPERTY_HTTP_CONNECTION_ID = 23,
  WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS = 24,
  WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS = 25,
  WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_INSTANCE = 26,
  WS_CHANNEL_PROPERTY_TRANSPORT_URL = 27,
  WS_CHANNEL_PROPERTY_NO_DELAY = 28,
  WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES = 29,
  WS_CHANNEL_PROPERTY_KEEP_ALIVE_TIME = 30,
  WS_CHANNEL_PROPERTY_KEEP_ALIVE_INTERVAL = 31,
  WS_CHANNEL_PROPERTY_MAX_HTTP_SERVER_CONNECTIONS = 32,
  WS_CHANNEL_PROPERTY_IS_SESSION_SHUT_DOWN = 33,
  WS_CHANNEL_PROPERTY_CHANNEL_TYPE = 34,
  WS_CHANNEL_PROPERTY_TRIM_BUFFERED_MESSAGE_SIZE = 35,
  WS_CHANNEL_PROPERTY_ENCODER = 36,
  WS_CHANNEL_PROPERTY_DECODER = 37,
  WS_CHANNEL_PROPERTY_PROTECTION_LEVEL = 38,
  WS_CHANNEL_PROPERTY_COOKIE_MODE = 39,
  WS_CHANNEL_PROPERTY_HTTP_PROXY_SETTING_MODE = 40,
  WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY = 41,
  WS_CHANNEL_PROPERTY_HTTP_MESSAGE_MAPPING = 42,
  WS_CHANNEL_PROPERTY_ENABLE_HTTP_REDIRECT = 43,
  WS_CHANNEL_PROPERTY_HTTP_REDIRECT_CALLBACK_CONTEXT = 44,
  WS_CHANNEL_PROPERTY_FAULTS_AS_ERRORS = 45,
  WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS = 46,
  WS_CHANNEL_PROPERTY_HTTP_SERVER_SPN = 47,
  WS_CHANNEL_PROPERTY_HTTP_PROXY_SPN = 48,
  WS_CHANNEL_PROPERTY_MAX_HTTP_REQUEST_HEADERS_BUFFER_SIZE = 49
} WS_CHANNEL_PROPERTY_ID;

Costanti

 
WS_CHANNEL_PROPERTY_MAX_BUFFERED_MESSAGE_SIZE
Valore: 0
Un ULONG
usato con WsCreateChannel, WsCreateChannelForListener o
WsGetChannelProperty per WS_TCP_CHANNEL_BINDING,
WS_HTTP_CHANNEL_BINDING o WS_NAMEDPIPE_CHANNEL_BINDING. Questo valore è un limite a quanto grande di un
il messaggio può essere ricevuto o inviato dal canale. Il limite specifica le dimensioni massime
della busta in byte come appare nel formato di filo codificato.
Il valore minimo è 1.


Questa proprietà limita la quantità di memoria
che il canale allocherà per ricevere o inviare un messaggio memorizzato nel buffer.
Quando si riceve con input memorizzato nel buffer, l'intero messaggio viene letto in un
buffer prima che l'applicazione possa accedervi. Quando si invia con output memorizzato nel buffer,
l'intero messaggio viene accumulato in un buffer prima di essere inviato.


Questa proprietà può essere specificata solo quando l'input o l'output memorizzati nel buffer sono stati
specificato ( WS_STREAMED_INPUT_TRANSFER_MODE o
WS_STREAMED_OUTPUT_TRANSFER_MODE non sono stati impostati.


Il valore predefinito è 65536.


Il WS_UDP_CHANNEL_BINDING usa sempre il valore 65536.
WS_CHANNEL_PROPERTY_MAX_STREAMED_MESSAGE_SIZE
Valore: 1
Un __int64 senza segno usato con WsCreateChannel, WsCreateChannelForListener o
WsGetChannelProperty
WS_HTTP_CHANNEL_BINDING. This
valore è un limite a quanto grande di un messaggio in flusso può essere ricevuto o inviato
per il canale.
Il limite specifica la dimensione massima della busta in byte visualizzata
nel formato di filo codificato. Il valore minimo è 1.


Questa proprietà può essere specificata solo quando è stato selezionato l'input o l'output trasmessi
(WS_STREAMED_INPUT_TRANSFER_MODE o WS_STREAMED_OUTPUT_TRANSFER_MODE è stato impostato).


Il valore predefinito è 4194304.
WS_CHANNEL_PROPERTY_MAX_STREAMED_START_SIZE
Valore: 2
ULONG usato con WsCreateChannel, WsCreateChannelForListener o
WsGetChannelProperty per WS_HTTP_CHANNEL_BINDING.
Questo valore è un limite a partire dall'inizio di un messaggio.
L'inizio di un messaggio è costituito dal tag busta, dalle intestazioni e dal tag corpo.
Il limite specifica la dimensione massima dei dati in byte, come viene visualizzato in
il suo modulo di filo codificato. Il valore minimo è 1.


Questa proprietà può essere specificata solo quando è stato selezionato l'input in flusso
(WS_STREAMED_INPUT_TRANSFER_MODE).


Questa proprietà limita la quantità di memoria allocata dal canale
per leggere l'inizio del messaggio. Per l'input di streaming,
l'intero inizio del messaggio verrà letto in un buffer prima dell'applicazione
notifica che l'inizio del messaggio è stato letto.


Il valore predefinito è 16384.
WS_CHANNEL_PROPERTY_MAX_STREAMED_FLUSH_SIZE
Valore: 3
ULONG usato con WsCreateChannel, WsCreateChannelForListener o
WsGetChannelProperty per WS_HTTP_CHANNEL_BINDING.
Questo valore è un limite a partire dal numero di byte accumulati
prima di chiamare WsFlushBody .


Questa proprietà può essere specificata solo quando è stato selezionato l'output in flusso
(WS_STREAMED_OUTPUT_TRANSFER_MODE).


Questa proprietà limita la quantità di memoria allocata dal canale
per accumulare dati memorizzati nel buffer. Per l'output di streaming,
il canale accumula i dati in un buffer finché non viene chiamato WsFlushBody .


Il valore predefinito è 65536.
WS_CHANNEL_PROPERTY_ENCODING
Valore: 4
Valore WS_ENCODING
usato con WsCreateChannel, WsCreateChannelForListener o WsGetChannelProperty per WS_TCP_CHANNEL_BINDING o WS_HTTP_CHANNEL_BINDING.
Questo valore specifica la codifica da usare per il canale.


Il valore predefinito dipende dall'associazione:



Il WS_UDP_CHANNEL_BINDING usa sempre il valore WS_ENCODING_XML_UTF8.
WS_CHANNEL_PROPERTY_ENVELOPE_VERSION
Valore: 5
Valore WS_ENVELOPE_VERSION
usato con WsCreateChannel, WsCreateChannelForListener o WsGetChannelProperty.
Questo valore specifica la versione della busta da usare per il canale. The
la versione della busta del canale deve corrispondere a quella del messaggio usata con
canale.


Questa proprietà non è supportata con il WS_NAMEDPIPE_CHANNEL_BINDING. I canali pipe denominati usano sempre WS_ENVELOPE_VERSION_SOAP_1_2.

Il valore predefinito dipende dall'associazione:
WS_CHANNEL_PROPERTY_ADDRESSING_VERSION
Valore: 6
Valore WS_ADDRESSING_VERSION
usato con WsCreateChannel, WsCreateChannelForListener o WsGetChannelProperty.
Questo valore specifica la versione di indirizzamento da usare per il canale. The
la versione di indirizzamento del canale deve corrispondere a quella del messaggio usata con
canale.


Il valore predefinito dipende dall'associazione:



Il WS_ADDRESSING_VERSION_TRANSPORT è supportato solo per
WS_HTTP_CHANNEL_BINDING.
WS_CHANNEL_PROPERTY_MAX_SESSION_DICTIONARY_SIZE
Valore: 7
ULONG usato con WsCreateChannel, WsCreateChannelForListener o WsGetChannelProperty.
Questa proprietà è valida solo per WS_TCP_CHANNEL_BINDING o WS_NAMEDPIPE_CHANNEL_BINDING.
Questo valore specifica la quota per il numero di byte del dizionario sessione
stringhe che verranno trasmesse o ricevute quando si usa una codifica basata su sessione.


L'unica codifica basata su sessione attualmente supportata è
WS_ENCODING_XML_BINARY_SESSION_1, ovvero la codifica predefinita
per il WS_TCP_CHANNEL_BINDING.


Se la quota viene raggiunta sul lato ricevente, il canale
errore.


Se la quota viene raggiunta sul lato invio, il canale sarà semplicemente
trasmettere la stringa senza usare il dizionario sessione.


Questo valore viene ignorato se non si usa una codifica basata su sessione.


Il valore predefinito è 2048.
WS_CHANNEL_PROPERTY_STATE
Valore: 8
Valore WS_CHANNEL_STATE
restituito da WsGetChannelProperty.


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_CHANNEL_PROPERTY_ASYNC_CALLBACK_MODEL
Valore: 9
Valore WS_CALLBACK_MODEL usato con WsCreateChannel o WsGetChannelProperty.
Questo valore indica il modello di callback asincrono preferito durante l'emissione
operazioni asincrone per il canale.


Se si usa WsCreateChannelForListener , vedere
WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL.


Il valore predefinito è WS_LONG_CALLBACK.


Sia WS_SERVICE_HOST cheWS_SERVICE_PROXY supportano solo WS_LONG_CALLBACK
come valore accettabile per questa proprietà.
WS_CHANNEL_PROPERTY_IP_VERSION
Valore: 10
Valore WS_IP_VERSION
usato con WsCreateChannel o WsGetChannelProperty per WS_TCP_CHANNEL_BINDING o WS_UDP_CHANNEL_BINDING.
Questa proprietà specifica la versione IP che deve essere usata dal canale
comunicare con l'endpoint remoto.


Per specificare la versione IP da usare per i canali accettati, usare
WS_LISTENER_PROPERTY_IP_VERSION proprietà listener quando
creazione dell'oggetto listener.


Il valore predefinito è WS_IP_VERSION_AUTO.
WS_CHANNEL_PROPERTY_RESOLVE_TIMEOUT
Valore: 11
ULONG usato con WsCreateChannel, WsSetChannelProperty,
o WsSetChannelProperty per WS_HTTP_CHANNEL_BINDING e WS_CHANNEL_TYPE_REQUEST.
Questo timeout limita la quantità di tempo che verrà impiegato per la risoluzione
nome DNS. Il valore di timeout è in millisecondi,
dove il valore INFINITE non indica alcun timeout.


Questa proprietà può essere impostata in qualsiasi stato del canale.


Il valore predefinito è INFINITE.
WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT
Valore: 12
ULONG usato con WsCreateChannel,
WsSetChannelProperty o WsGetChannelProperty
per WS_TCP_CHANNEL_BINDING o WS_NAMEDPIPE_CHANNEL_BINDING sul lato client.
Questo timeout limita il tempo trascorso per connettersi al computer remoto e completare l'handshake net.tcp o net.pipe. Valore di timeout
è in millisecondi, dove il valore INFINITE indica un timeout. Per impostare
o ottenere il timeout corrispondente sul lato server, usare
(WS_LISTENER_PROPERTY_CONNECT_TIMEOUT).


Usato con WsCreateChannel,
WsSetChannelProperty o WsGetChannelProperty per WS_HTTP_CHANNEL_BINDING e WS_CHANNEL_TYPE_REQUEST.
Questo timeout limita la quantità di tempo trascorsa per la connessione
al server HTTP. Il valore di timeout è in millisecondi,
dove il valore INFINITE non indica alcun timeout.


Questa proprietà può essere impostata in qualsiasi stato del canale.


Il valore predefinito è 30000 (30 secondi).


Il WS_SERVICE_PROXY imposta questo timeout su INFINITE per impostazione predefinita.
WS_CHANNEL_PROPERTY_SEND_TIMEOUT
Valore: 13
ULONG usato con WsCreateChannel, WsCreateChannelForListener,
WsSetChannelProperty o WsGetChannelProperty
per WS_TCP_CHANNEL_BINDING o WS_NAMEDPIPE_CHANNEL_BINDING. Questo timeout limita l'oggetto
quantità di tempo che verrà speso inviando i byte del messaggio.
Il valore di timeout è in millisecondi, dove il valore INFINITE indica
nessun timeout.


Usato con WsCreateChannel, WsSetChannelProperty,
o WsGetChannelProperty per WS_HTTP_CHANNEL_BINDING
e WS_CHANNEL_TYPE_REQUEST.
Questo timeout limita l'intervallo di tempo che verrà speso per l'invio
Intestazioni HTTP e byte del messaggio. Il valore di timeout è in millisecondi, dove
value INFINITE indica nessun timeout.


Questa proprietà può essere impostata in qualsiasi stato del canale.


Il valore predefinito è 30000 (30 secondi).


Impostare sia WS_SERVICE_HOST cheWS_SERVICE_PROXY
timeout su INFINITE per impostazione predefinita.
WS_CHANNEL_PROPERTY_RECEIVE_RESPONSE_TIMEOUT
Valore: 14
ULONG usato con WsCreateChannel, WsSetChannelProperty,
o WsSetChannelProperty per WS_HTTP_CHANNEL_BINDING e WS_CHANNEL_TYPE_REQUEST.
Questo timeout limita la quantità di tempo trascorsa in attesa
tutte le intestazioni di risposta da ricevere dal server.
Il valore di timeout è espresso in millisecondi, dove il valore INFINITE non indica alcun timeout.


Questa proprietà può essere impostata in qualsiasi stato del canale.


Il valore predefinito è 30000 (30 secondi).


Il WS_SERVICE_PROXY imposta questo timeout su INFINITE.
WS_CHANNEL_PROPERTY_RECEIVE_TIMEOUT
Valore: 15
ULONG usato con WsCreateChannel, WsCreateChannelForListener,
WsSetChannelProperty o WsGetChannelProperty,
per WS_TCP_CHANNEL_BINDING o WS_NAMEDPIPE_CHANNEL_BINDING.
Questo timeout limita la quantità di tempo che verrà impiegato per ricevere il
byte del messaggio.
Il valore di timeout è espresso in millisecondi, dove il valore INFINITE indica
nessun timeout.


Usato con WsCreateChannel, WsSetChannelProperty,
o WsGetChannelProperty per WS_HTTP_CHANNEL_BINDING e WS_CHANNEL_TYPE_REQUEST.
Questo timeout limita la quantità di tempo che verrà impiegato per ricevere il
byte del messaggio. Il valore di timeout è espresso in millisecondi,
dove il valore INFINITE non indica alcun timeout.
Questo timeout può essere attivato da WsWriteMessageEnd, WsReadMessageStart e WsReadMessageEnd.

Questa proprietà può essere impostata in qualsiasi stato del canale.


Il valore predefinito è 30000 (30 secondi).


Impostare sia WS_SERVICE_HOST cheWS_SERVICE_PROXY
timeout su INFINITE per impostazione predefinita.
WS_CHANNEL_PROPERTY_CLOSE_TIMEOUT
Valore: 16
ULONG usato con WsCreateChannel, WsCreateChannelForListener
WsSetChannelProperty o WsGetChannelProperty
per WS_TCP_CHANNEL_BINDING o WS_NAMEDPIPE_CHANNEL_BINDING.
Questo timeout limita la quantità di tempo che verrà impiegato per completare il
handshake close net.tcp o net.pipe. Il valore di timeout è espresso in millisecondi, dove
value INFINITE indica nessun timeout.


Questa proprietà può essere impostata in qualsiasi stato del canale.


Il valore predefinito è 30000 (30 secondi).


L'WS_SERVICE_PROXY imposta questo timeout su INFINITE per impostazione predefinita.
WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS
Valore: 17
Valore BOOL usato con WsCreateChannel per WS_HTTP_CHANNEL_BINDING, WS_TCP_CHANNEL_BINDING, WS_NAMEDPIPE_CHANNEL_BINDING,
e WS_UDP_CHANNEL_BINDING.
Usato con WsGetChannelProperty per WS_CUSTOM_CHANNEL_BINDING.


Quando questa proprietà è impostata su TRUE o non viene specificata durante la chiamata a WsCreateChannel,
proprietà di timeout del canale più specifiche (ad esempio , WS_CHANNEL_PROPERTY_SEND_TIMEOUT)
ha la precedenza e si comporta come documentato. Quando questa proprietà è impostata su FALSE,
tutte le proprietà di timeout del canale specifiche vengono impostate su INFINITE, a meno che non siano specificate in modo esplicito.


È possibile eseguire query su questa proprietà da un canale personalizzato usando WsGetChannelProperty,
per altri dettagli, vedere WS_GET_CHANNEL_PROPERTY_CALLBACK.


Il valore predefinito è TRUE.


Per implementare la propria logica di timeout, WS_SERVICE_PROXY e
WS_SERVICE_HOST imposta questa proprietà su FALSE per l'oggetto
le associazioni di canali standard e richiedono canali personalizzati per supportarlo eseguendo query e
verificando che sia impostato su FALSE.
È comunque possibile specificare proprietà di timeout più specifiche, come descritto in precedenza.
WS_CHANNEL_PROPERTY_TRANSFER_MODE
Valore: 18
Valore di WS_TRANSFER_MODE
usato con WsCreateChannel
per WS_HTTP_CHANNEL_BINDING controllare se i messaggi
inviati e ricevuti nel canale vengono memorizzati nel buffer o trasmessi. Il client
e il server possono usare modalità di trasferimento diverse e comunque essere in grado di comunicare.


Tutti i canali supportano WsGetChannelProperty per questo
.


Per le associazioni di canale diverse da WS_HTTP_CHANNEL_BINDINGil valore è sempre WS_BUFFERED_TRANSFER_MODE.


Il valore predefinito della proprietà è WS_BUFFERED_TRANSFER_MODE. Nota
solo WS_BUFFERED_TRANSFER_MODE viene usato dal modello di servizio per entrambi
WS_SERVICE_PROXY e WS_SERVICE_HOST. L'unica eccezione
è intorno all'uso di contratti di messaggio su WS_SERVICE_HOST, dove
WS_STREAMED_OUTPUT_TRANSFER_MODE consentito.



WS_STREAMED_OUTPUT_TRANSFER_MODE con WS_CHANNEL_TYPE_REQUEST richiede Windows Vista e versioni successive e supporta solo WS_HTTP_HEADER_AUTH_SCHEME_BASIC se usato con sicurezza.
WS_CHANNEL_PROPERTY_MULTICAST_INTERFACE
Valore: 19
ULONG usato con WsCreateChannel, WsSetChannelProperty,
o WsGetChannelProperty per WS_UDP_CHANNEL_BINDING
con WS_CHANNEL_TYPE_DUPLEX per indicare quale adattatore
deve essere usato durante l'invio a un indirizzo multicast.


Il valore è l'indice dell'interfaccia dell'adattatore.


Se questa proprietà non è impostata o è 0, l'adattatore predefinito per l'oggetto
viene usato il computer. Questo potrebbe non essere appropriato per i computer con più adattatori.


Questa proprietà può essere impostata in qualsiasi stato del canale.


Il valore predefinito della proprietà è 0.
WS_CHANNEL_PROPERTY_MULTICAST_HOPS
Valore: 20
ULONG usato con WsCreateChannel o WsGetChannelProperty
per WS_UDP_CHANNEL_BINDING con WS_CHANNEL_TYPE_DUPLEX
per specificare il numero massimo di hop che un messaggio UDP può viaggiare.


Il valore predefinito della proprietà è 1.
WS_CHANNEL_PROPERTY_REMOTE_ADDRESS
Valore: 21
Struttura WS_ENDPOINT_ADDRESS
usato con WsGetChannelProperty
per WS_UDP_CHANNEL_BINDING con WS_CHANNEL_TYPE_DUPLEX
per recuperare l'indirizzo dell'endpoint della parte remota per il canale.


Campi dell'oggetto restituito
WS_ENDPOINT_ADDRESS struttura sono valide e costanti fino al canale
viene reimpostato o liberato. Il chiamante non deve modificare i valori restituiti
campi del WS_ENDPOINT_ADDRESS puntano a.


Questa proprietà non può essere recuperata finché il canale non ha raggiunto lo stato aperto.


Questa proprietà si basa sull'indirizzo IP di origine ricevuto da
la rete, che può essere spoofing o manomessa anche se si utilizza un
canale sicuro (a seconda dell'ambiente di rete).
WS_CHANNEL_PROPERTY_REMOTE_IP_ADDRESS
Valore: 22
Struttura SOCKADDR_STORAGE
usato con WsCreateChannel
per i tipi di canali seguenti per recuperare l'indirizzo IP
dell'entità remota:



Questa proprietà non può essere recuperata finché il canale non ha iniziato a leggere un messaggio.


Questa proprietà si basa sull'indirizzo IP di origine ricevuto da
la rete, che può essere spoofing o manomessa anche se si utilizza un
canale sicuro (a seconda dell'ambiente di rete).
WS_CHANNEL_PROPERTY_HTTP_CONNECTION_ID
Valore: 23
Puntatore a ULONGLONG usato con WsGetChannelProperty
per WS_HTTP_CHANNEL_BINDING con WS_CHANNEL_TYPE_REPLY
per recuperare un identificatore che identifica in modo univoco la connessione client.


Questa proprietà non può essere recuperata finché il canale non ha iniziato a leggere un messaggio.


L'ID connessione identifica in modo univoco una connessione mentre
oggetto listener da cui il canale è stato accettato rimane aperto.


Una determinata istanza del canale di risposta non è in alcun modo correlata a una connessione.
Ogni volta che il canale viene accettato, potrebbe esserci un ID di connessione diverso
(anche se il set totale di connessioni non è cambiato dall'ultima accettazione).


L'ID connessione può essere usato da un'applicazione per correlare lo stato con
una connessione HTTP.
WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS
Valore: 24
Struttura WS_CUSTOM_CHANNEL_CALLBACKS utilizzata con WsCreateChannel o WsCreateChannelForListener per WS_CUSTOM_CHANNEL_BINDING.


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


Questa proprietà deve essere specificata quando viene utilizzata WS_CUSTOM_CHANNEL_BINDING .
WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS
Valore: 25
Puntatore a un tipo di dati di dimensioni arbitrarie usato con WsCreateChannel o WsCreateChannelForListener per WS_CUSTOM_CHANNEL_BINDING.


Questa proprietà viene usata per specificare i parametri usati per creare l'oggetto personalizzato
implementazione del canale.


Le dimensioni della proprietà sono le dimensioni del tipo di dati.


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


Se questa proprietà non viene specificata, il relativo valore è NULL e size è zero.
WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_INSTANCE
Valore: 26
Void usato con WsGetChannelProperty per WS_CUSTOM_CHANNEL_BINDING.


La dimensione della proprietà è sizeof(void
).
Il valore corrisponde al valore dell'istanza del canale restituito da
il WS_CREATE_CHANNEL_CALLBACK.


Questa proprietà può essere usata per ottenere il canale sottostante
istanza per un canale personalizzato. In questo modo un chiamante può essere chiamato direttamente
interagire con l'istanza per i casi in cui l'oggetto esistente
set di proprietà del canale o funzioni del canale insufficienti.
WS_CHANNEL_PROPERTY_TRANSPORT_URL
Valore: 27
Struttura WS_STRING
usato con WsGetChannelProperty
per WS_HTTP_CHANNEL_BINDING o WS_TCP_CHANNEL_BINDING per i canali creati con WsCreateChannelForListener.


Questa proprietà viene utilizzata nel server per ottenere l'URL passato
su WsOpenChannel nel client.
Questo URL può essere diverso dal valore nel WS_TO_HEADER
se è stato usato WsAddressMessage . Mapping dell'oggetto
l'URL di trasporto al trasporto sottostante varia in base al
WS_CHANNEL_BINDING, come indicato di seguito:



Questa proprietà è disponibile solo dopo che il canale ha
accettato tramite WsAcceptChannel.


Il chiamante deve passare l'indirizzo di un WS_STRING quando
recupero di questa proprietà. La stringa restituita è una stringa completa
URL in formato codificato. La stringa restituita è valida fino al canale
viene liberato o reimpostato.
WS_CHANNEL_PROPERTY_NO_DELAY
Valore: 28
Valore BOOL usato con WsCreateChannel, WsCreateChannelForListener o WsGetChannelProperty o WsSetChannelProperty per WS_TCP_CHANNEL_BINDING.


Questa proprietà controlla il valore dell'opzione socket TCP_NODELAY del socket sottostante.


Quando questo valore è FALSE, viene usato l'algoritmo Nagle che può
migliorare la velocità effettiva con l'unione di messaggi di piccole dimensioni.


L'impostazione di questo valore su TRUE può ridurre la latenza a costo della velocità effettiva
per messaggi di piccole dimensioni.


Il valore predefinito è FALSE.
WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES
Valore: 29
Valore BOOL usato con WsCreateChannel, WsCreateChannelForListener per WS_TCP_CHANNEL_BINDING.


Questa proprietà controlla il valore dell'opzione socket SO_KEEPALIVE del socket sottostante.


L'impostazione di questo valore su TRUE causerà l'invio di pacchetti keep-alive
sul socket sottostante, che può aiutare a rilevare quando
una parte remota non è più disponibile.


Il valore predefinito è FALSE.
WS_CHANNEL_PROPERTY_KEEP_ALIVE_TIME
Valore: 30
ULONG usato con WsCreateChannel o WsCreateChannelForListener per WS_TCP_CHANNEL_BINDING.


Questa proprietà viene misurata in millisecondi.


Questa proprietà può essere specificata solo quando la proprietà WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES ha il valore TRUE.


Il valore rappresenta la quantità di tempo prima dell'invio di pacchetti keep-alive se
socket non in uso.


Il valore predefinito è 2 ore.
WS_CHANNEL_PROPERTY_KEEP_ALIVE_INTERVAL
Valore: 31
ULONG usato con WsCreateChannel o WsCreateChannelForListener per WS_TCP_CHANNEL_BINDING.


Questa proprietà viene misurata in millisecondi.


Questa proprietà può essere specificata solo quando la proprietà WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES ha il valore TRUE.


Dopo la scadenza dell'ora specificata in WS_CHANNEL_PROPERTY_KEEP_ALIVE_TIME ,
il sistema inizierà a inviare pacchetti keep-alive in un tentativo di contatto
la festa remota. Questa impostazione controlla la frequenza con cui il sistema invierà
un altro pacchetto (come tentativo di ripetizione).


Il valore predefinito è 1 secondo.
WS_CHANNEL_PROPERTY_MAX_HTTP_SERVER_CONNECTIONS
Valore: 32
ULONG usato con WsCreateChannel per WS_HTTP_CHANNEL_BINDING.


Questa proprietà specifica il numero massimo di connessioni che un'applicazione client
potrebbe avere su un server HTTP.
Le connessioni possono essere memorizzate nella cache e riutilizzate da altri componenti all'interno dello stesso processo che accedono allo stesso server HTTP.


Il valore predefinito è INFINITE (nessun limite).
WS_CHANNEL_PROPERTY_IS_SESSION_SHUT_DOWN
Valore: 33
VALORE BOOL usato con WsGetChannelProperty per WS_TCP_CHANNEL_BINDING
o WS_NAMEDPIPE_CHANNEL_BINDING con WS_CHANNEL_TYPE_DUPLEX_SESSION.


Questa proprietà indica
se WsShutdownSessionChannel è stato
utilizzato per arrestare il canale.


Il canale deve trovarsi in WS_CHANNEL_STATE_OPEN o
WS_CHANNEL_STATE_FAULTED stato.
WS_CHANNEL_PROPERTY_CHANNEL_TYPE
Valore: 34
Valore di WS_CHANNEL_TYPE
usato con WsGetChannelProperty per tutti i tipi di canale
per eseguire una query sul tipo del canale.


Il canale può trovarsi in qualsiasi WS_CHANNEL_STATE.
WS_CHANNEL_PROPERTY_TRIM_BUFFERED_MESSAGE_SIZE
Valore: 35
ULONG usato con WsCreateChannel, WsCreateChannelForListener o
WsGetChannelProperty per WS_TCP_CHANNEL_BINDING,
WS_HTTP_CHANNEL_BINDING o WS_NAMEDPIPE_CHANNEL_BINDING per controllare l'allocazione della memoria
caratteristiche per i messaggi sul canale.


Questa proprietà specifica la quantità massima di memoria che il canale manterrà
dopo la reimpostazione di un messaggio. Se tutte le
i messaggi visualizzati da un canale sono tutti inferiori a questa dimensione, quindi le allocazioni
ai fini del buffering dei messaggi verrà ridotto al minimo.


Questa proprietà può essere specificata solo quando l'input o l'output memorizzato nel buffer è stato
specificato ( WS_STREAMED_INPUT_TRANSFER_MODE o
WS_STREAMED_OUTPUT_TRANSFER_MODE non sono stati impostati).


Il valore predefinito è 65536.


Il WS_UDP_CHANNEL_BINDING usa sempre il valore 65536.
WS_CHANNEL_PROPERTY_ENCODER
Valore: 36
Struttura WS_CHANNEL_ENCODER utilizzata con WsCreateChannel o WsCreateChannelForListener per WS_TCP_CHANNEL_BINDING,
WS_HTTP_CHANNEL_BINDING o WS_NAMEDPIPE_CHANNEL_BINDING per fornire una codifica personalizzata dei messaggi.

Questa proprietà non può essere utilizzata con WS_UDP_CHANNEL_BINDING.
WS_CHANNEL_PROPERTY_DECODER
Valore: 37
Struttura WS_CHANNEL_DECODER utilizzata con WsCreateChannel o WsCreateChannelForListener per WS_TCP_CHANNEL_BINDING,
WS_HTTP_CHANNEL_BINDING o WS_NAMEDPIPE_CHANNEL_BINDING per fornire una dencoding personalizzata dei messaggi.

Questa proprietà non può essere utilizzata con WS_UDP_CHANNEL_BINDING.
WS_CHANNEL_PROPERTY_PROTECTION_LEVEL
Valore: 38
Valore WS_PROTECTION_LEVEL usato con WsGetChannelProperty per qualsiasi tipo di canale.


Questa proprietà indica
le garanzie di sicurezza fornite dal canale.


Il valore di questa proprietà dipende dai requisiti di sicurezza
richiesto per il canale.
WS_CHANNEL_PROPERTY_COOKIE_MODE
Valore: 39
Valore WS_COOKIE_MODE usato con WsCreateChannel con WS_HTTP_CHANNEL_BINDING per controllare la modalità di gestione dei cookie HTTP.


Il valore predefinito è WS_AUTO_COOKIE_MODE.
WS_CHANNEL_PROPERTY_HTTP_PROXY_SETTING_MODE
Valore: 40
Valore WS_HTTP_PROXY_SETTING_MODE usato con WsCreateChannel con WS_HTTP_CHANNEL_BINDING per controllare le impostazioni del proxy HTTP per il canale.


Il valore predefinito è WS_HTTP_PROXY_SETTING_MODE_AUTO.
WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY
Valore: 41
Struttura WS_CUSTOM_HTTP_PROXY utilizzata con WsCreateChannel con WS_HTTP_CHANNEL_BINDING per specificare l'impostazione personalizzata personalizzata per il canale HTTP. Questa proprietà deve
essere specificato quando WS_CHANNEL_PROPERTY_HTTP_PROXY_SETTING_MODE è impostato su
WS_HTTP_PROXY_SETTING_MODE_CUSTOM.


Il valore predefinito è NULL.
WS_CHANNEL_PROPERTY_HTTP_MESSAGE_MAPPING
Valore: 42
Struttura WS_HTTP_MESSAGE_MAPPING utilizzata con WsCreateChannel o WsCreateChannelForListener per WS_HTTP_CHANNEL_BINDING.


Questo valore della proprietà controlla il mapping di una richiesta o una risposta HTTP a
oggetto messaggio. Per altre informazioni, vedere WS_HTTP_MESSAGE_MAPPING .


Il valore predefinito per questa proprietà è una struttura WS_HTTP_MESSAGE_MAPPING è la seguente:



  • requestMappingOptions: 0

  • requestHeaderMappings: nessuno

  • responseMappingOptions: 0

  • responseHeaderMappings: nessuno



WS_HTTP_MESSAGE_MAPPING campi requestMappingOptions e responseMappingOptions devono essere 0
a meno che la codifica non sia impostata su WS_ENCODING_RAW tramite la proprietà del canale WS_CHANNEL_PROPERTY_ENCODING.
WS_CHANNEL_PROPERTY_ENABLE_HTTP_REDIRECT
Valore: 43
Valore BOOL usato con WsCreateChannel per WS_HTTP_CHANNEL_BINDING con WS_CHANNEL_TYPE_REQUEST.


Questo valore della proprietà controlla se il reindirizzamento automatico HTTP è abilitato.


L'impostazione di questo valore su TRUE consente il reindirizzamento automatico HTTP.


Il valore predefinito è FALSE.
Se viene specificata la proprietà WS_CHANNEL_PROPERTY_HTTP_REDIRECT_CALLBACK_CONTEXT ,
questa proprietà viene ignorata.
WS_CHANNEL_PROPERTY_HTTP_REDIRECT_CALLBACK_CONTEXT
Valore: 44
Struttura WS_HTTP_REDIRECT_CALLBACK_CONTEXT
usato con WsCreateChannel per WS_HTTP_CHANNEL_BINDING con WS_CHANNEL_TYPE_REQUEST.


Questo valore della proprietà può essere specificato quando è necessario un controllo più granulare del reindirizzamento HTTP automatico.


Quando questa proprietà è impostata, la routine di callback specificata verrà chiamata con l'URL dell'endpoint originale
e il nuovo URL a cui deve essere inoltrato il messaggio. Il valore restituito del callback viene usato per indicare se
il reindirizzamento deve essere consentito.
WS_CHANNEL_PROPERTY_FAULTS_AS_ERRORS
Valore: 45
Valore BOOL usato con WsCreateChannel, WsSetChannelProperty,
WsGetChannelProperty o WsCreateServiceProxy per WS_HTTP_CHANNEL_BINDING e WS_CHANNEL_TYPE_REQUEST o WS_TCP_CHANNEL_BINDING, WS_NAMEDPIPE_CHANNEL_BINDING e WS_UDP_CHANNEL_BINDING nel client.


Se impostata su TRUE, le funzioni channel e service model restituiscono un codice di errore quando viene ricevuto un errore.
Se l'errore viene riconosciuto da questo runtime, viene restituito il codice di errore corrispondente,
in caso contrario , viene restituito WS_E_ENDPOINT_FAULT_RECEIVED. Vedere Valori restituiti di Servizi Web Windows. Se impostato su FALSE, WsReceiveMessage
e WsRequestReply restituiscono WS_E_ENDPOINT_FAULT_RECEIVED quando viene ricevuto un errore.
Le altre funzioni del canale restituiscono errori come normali messaggi e'WS_MESSAGE_PROPERTY_IS_FAULT
può essere usato per distinguere gli errori da altri messaggi.


Quando questa proprietà è impostata su TRUE e usata con WsCreateChannel o WsSetChannelProperty,
esegue l'override del comportamento seguente di WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS: se l'errore viene riconosciuto dall'oggetto
runtime, un errore non protetto non causerà l'esito negativo della verifica della sicurezza del messaggio di errore anche se
WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS è impostato su FALSE. Stato della verifica della sicurezza
può essere determinato controllando WS_MESSAGE_PROPERTY_PROTECTION_LEVEL.
Questo non si applica a WS_UDP_CHANNEL_BINDING perché non supporta la sicurezza.


Quando questa proprietà è impostata su FALSE o utilizzata con WsCreateServiceProxy o l'errore non viene riconosciuto
dal runtime, il comportamento descritto in WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS si applica senza
.


Indipendentemente da questo valore della proprietà, se viene restituito un codice di errore in seguito alla ricezione di un errore,
WsGetFaultErrorProperty può essere usato per eseguire query sui dettagli dell'errore dall'oggetto error.


Questa proprietà può essere impostata in qualsiasi stato del canale.


Il valore predefinito è TRUE. Se usato con WsCreateServiceProxy, questa proprietà deve essere impostata su TRUE.




L'impostazione di questa proprietà su TRUE può causare la disattivazione della verifica della sicurezza dei messaggi per determinati errori.
Gli errori non verificati potrebbero non essere attendibili.
WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS
Valore: 46
Valore BOOL usato con WsCreateChannel, WsSetChannelProperty,
o WsGetChannelProperty per WS_HTTP_CHANNEL_BINDING e WS_CHANNEL_TYPE_REQUEST o WS_TCP_CHANNEL_BINDING e WS_NAMEDPIPE_CHANNEL_BINDING nel client.


Se impostato su TRUE, gli errori non protetti ricevuti in un canale sicuro non causano l'esito negativo della verifica della sicurezza dei messaggi. Invece,
l'errore verrà considerato come se la verifica della sicurezza dei messaggi abbia esito positivo e gestito come descritto in WS_CHANNEL_PROPERTY_FAULTS_AS_ERRORS.
Lo stato della verifica della sicurezza può essere determinato controllando WS_MESSAGE_PROPERTY_PROTECTION_LEVEL.


Se impostato su FALSE, la verifica della sicurezza dei messaggi di errore viene gestita come la verifica di qualsiasi altro messaggio.


WS_CHANNEL_PROPERTY_FAULTS_AS_ERRORS può eseguire l'override di questa proprietà per gli errori riconosciuti da questo runtime.


Questa proprietà si applica solo alla verifica della sicurezza a livello di messaggio e non ha alcun impatto sulla sicurezza del trasporto.


Questa proprietà può essere impostata in qualsiasi stato del canale.


Il valore predefinito è FALSE.


L'impostazione di questa proprietà su TRUE causa la disattivazione della verifica della sicurezza dei messaggi per gli errori. Gli errori non protetti potrebbero non essere attendibili.
WS_CHANNEL_PROPERTY_HTTP_SERVER_SPN
Valore: 47
Puntatore WCHAR
usato con WsGetChannelProperty per WS_HTTP_CHANNEL_BINDING e WS_CHANNEL_TYPE_REQUEST.



Restituisce il nome dell'entità server dell'endpoint remoto usato per l'ultima richiesta non riuscita. Non vi è alcuna garanzia che questa proprietà sia
preferita. Di seguito sono riportate le condizioni necessarie (ma non sempre sufficienti) per questa proprietà da presentare:

  • Il canale ha inviato una richiesta.

  • La richiesta non è riuscita a causa di schemi di autenticazione dell'intestazione HTTP non corrispondenti. Vedere WS_HTTP_HEADER_AUTH_SECURITY_BINDING.

  • L'endpoint remoto supporta lo schema di autenticazione "Nego2".




Questa proprietà è disponibile solo in Windows 7 e versioni successive.
WS_CHANNEL_PROPERTY_HTTP_PROXY_SPN
Valore: 48
Puntatore WCHAR usato con WsGetChannelProperty per WS_HTTP_CHANNEL_BINDING e WS_CHANNEL_TYPE_REQUEST.



Restituisce il nome dell'entità server del server proxy HTTP usato per l'ultima richiesta non riuscita. Non vi è alcuna garanzia che questa proprietà sia
preferita. Di seguito sono riportate le condizioni necessarie (ma non sempre sufficienti) per questa proprietà da presentare:

  • Il canale ha inviato una richiesta.

  • La richiesta non è riuscita a causa di schemi di autenticazione dell'intestazione HTTP non corrispondenti. Vedere WS_HTTP_HEADER_AUTH_SECURITY_BINDING.

  • Il server proxy HTTP supporta lo schema di autenticazione "Nego2".




Questa proprietà è disponibile solo in Windows 7 e versioni successive.
WS_CHANNEL_PROPERTY_MAX_HTTP_REQUEST_HEADERS_BUFFER_SIZE
Valore: 49
ULONG usato con WsCreateChannelForListener o
WsGetChannelProperty per WS_HTTP_CHANNEL_BINDING
con WS_CHANNEL_TYPE_REPLY. Questo valore è un limite per quanto grande le intestazioni
di una richiesta HTTP ricevuta può essere. Il limite specifica le dimensioni massime
delle intestazioni di richiesta HTTP in byte.


Questa proprietà limita la quantità di memoria
che l'WS_HTTP_CHANNEL_BINDING con WS_CHANNEL_TYPE_REPLY
alloca per ricevere intestazioni di richiesta HTTP. Quando si riceve, l'intera richiesta HTTP
le intestazioni vengono lette in un buffer prima dell'elaborazione.


Il valore predefinito è 65536.

Requisiti

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