<wsHttpBinding>
Definisce un'associazione protetta, affidabile, interoperabile adatta per contratti di servizio non duplex. L'associazione implementa le specifiche seguenti: WS-ReliableMessaging per l'affidabilità e WS-Security per la sicurezza e l'autenticazione dei messaggi. Il trasporto è HTTP e la codifica dei messaggi è Text/XML.
<Configurazione>
<system.serviceModel>
<Associazioni>
<wsHttpBinding>
Sintassi
<wsHttpBinding>
<binding allowCookies="Boolean"
bypassProxyOnLocal="Boolean"
closeTimeout="TimeSpan"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
maxBufferPoolSize="integer"
maxReceivedMessageSize="Integer"
messageEncoding="Text/Mtom"
name="string"
openTimeout="TimeSpan"
proxyAddress="URI"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding"
transactionFlow="Boolean"
useDefaultWebProxy="Boolean">
<reliableSession ordered="Boolean"
inactivityTimeout="TimeSpan"
enabled="Boolean" />
<security mode="Message/None/Transport/TransportWithCredential">
<transport clientCredentialType="Basic/Certificate/Digest/None/Ntlm/Windows"
proxyCredentialType="Basic/Digest/None/Ntlm/Windows"
realm="string" />
<message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
clientCredentialType="Certificate/IssuedToken/None/UserName/Windows"
establishSecurityContext="Boolean"
negotiateServiceCredential="Boolean" />
</security>
<readerQuotas maxArrayLength="Integer"
maxBytesPerRead="Integer"
maxDepth="Integer"
maxNameTableCharCount="Integer"
maxStringContentLength="Integer" />
</binding>
</wsHttpBinding>
Attributi ed elementi
Nelle sezioni seguenti vengono descritti attributi, elementi figlio ed elementi padre.
Attributi
Attributo | Descrizione |
---|---|
allowCookies | Valore booleano che indica se il client accetta cookie e li propaga alle richieste future. Il valore predefinito è false. È possibile usare questa proprietà quando si interagisce con servizi Web ASMX che usano cookie. In questo modo i cookie restituiti dal server vengono copiati automaticamente in tutte le richieste client future per quel servizio. |
bypassProxyOnLocal | Valore booleano che indica se ignorare il server proxy per indirizzi locali. Il valore predefinito è false . |
closeTimeout | Valore TimeSpan che specifica l'intervallo di tempo fornito per il completamento di un'operazione di chiusura. Questo valore deve essere maggiore o uguale a Zero. L'impostazione predefinita è 00:01:00. |
hostnameComparisonMode | Specifica la modalità di confronto del nome host HTTP usata per analizzare gli URI. L'attributo è di tipo HostNameComparisonMode, che indica se il nome host viene usato per raggiungere il servizio in caso di corrispondenza nell'URI. Il valore predefinito è StrongWildcard, che ignora il nome host nella corrispondenza. |
maxBufferPoolSize | Numero intero che specifica la dimensione del pool di buffer massima per questa associazione. Il valore predefinito è 524.288 byte (512 * 1024). Molte parti di Windows Communication Foundation (WCF) usano buffer. La creazione e l'eliminazione definitiva dei buffer a ogni uso sono operazioni onerose, analogamente a quelle di Garbage Collection dei buffer. Quando si usa un pool di buffer è possibile prelevare un buffer dal pool, usarlo e, al termine delle operazioni, riporlo nel pool. In questo modo è possibile evitare il sovraccarico dovuto alla creazione e all'eliminazione definitiva dei buffer. |
maxReceivedMessageSize | Integer positivo che specifica la dimensione massima del messaggio, incluse le intestazioni, che è possibile ricevere su un canale configurato con questa associazione. Il mittente di un messaggio che supera questo limite riceverà un errore SOAP. Il destinatario elimina il messaggio e crea una voce dell'evento nel registro di traccia. Il valore predefinito è 65536. |
messageEncoding | Definisce il codificatore usato per codificare il messaggio. I valori validi sono i seguenti: - Testo: usare un codificatore di messaggi di testo. - Mtom: usare un codificatore MTOM (Message Transmission Organization Mechanism 1.0). - Il valore predefinito è Text. L'attributo è di tipo WSMessageEncoding. |
name | Stringa che contiene il nome della configurazione dell'associazione. Questo valore deve essere univoco perché viene usato per identificare l'associazione. A partire da .NET Framework 4, le associazioni e i comportamenti non sono necessari per avere un nome. Per altre informazioni sulle associazioni e sui comportamenti predefiniti, vedere Configurazione semplificata e configurazione semplificata per i servizi WCF. |
openTimeout | Valore TimeSpan che specifica l'intervallo di tempo fornito per il completamento di un'operazione di apertura. Questo valore deve essere maggiore o uguale a Zero. L'impostazione predefinita è 00:01:00. |
proxyAddress | URI che specifica l'indirizzo del proxy HTTP. Se useSystemWebProxy è true , questa impostazione deve essere null . Il valore predefinito è null . |
receiveTimeout | Valore TimeSpan che specifica l'intervallo di tempo fornito per il completamento di un'operazione di ricezione. Questo valore deve essere maggiore o uguale a Zero. L'impostazione predefinita è 00:01:00. |
sendTimeout | Valore TimeSpan che specifica l'intervallo di tempo fornito per il completamento di un'operazione di invio. Questo valore deve essere maggiore o uguale a Zero. L'impostazione predefinita è 00:01:00. |
textEncoding | Specifica la codifica del set di caratteri da usare per l'emissione dei messaggi dell'associazione. I valori validi sono i seguenti: - UnicodeFffeTextEncoding: codifica BigEndian Unicode. - Utf16TextEncoding: codifica a 16 bit. - Utf8TextEncoding: codifica a 8 bit. L'impostazione predefinita è Utf8TextEncoding. L'attributo è di tipo Encoding. |
transactionFlow | Valore booleano che specifica se l'associazione supporta la propagazione di WS-Transactions. Il valore predefinito è false . |
useDefaultWebProxy | Valore booleano che specifica se viene usato il proxy HTTP di sistema configurato automaticamente. Il valore predefinito è true . |
Elementi figlio
Elemento | Descrizione |
---|---|
<Sicurezza> | Definisce le impostazioni di sicurezza per l'associazione. L'elemento è di tipo WSHttpSecurityElement. |
<readerQuotas> | Definisce i vincoli sulla complessità dei messaggi SOAP che possono essere elaborati dagli endpoint configurati con questa associazione. L'elemento è di tipo XmlDictionaryReaderQuotasElement. |
<Reliablesession> | Specifica se vengono stabilite sessioni affidabili tra endpoint del canale. |
Elementi padre
Elemento | Descrizione |
---|---|
<Associazioni> | Questo elemento contiene una raccolta di associazioni standard e personalizzate. |
Commenti
WSHttpBinding
è simile a BasicHttpBinding
ma fornisce più funzionalità del servizio Web. Usa il trasporto HTTP e fornisce sicurezza dei messaggi, in modo analogo a BasicHttpBinding, ma offre inoltre funzionalità per transazioni, messaggistica affidabile e WS-Addressing, attivate per impostazione predefinita o disponibili tramite l'impostazione di un singolo controllo.
Esempio
<configuration>
<system.ServiceModel>
<bindings>
<wsHttpBinding>
<binding closeTimeout="00:00:10"
openTimeout="00:00:20"
receiveTimeout="00:00:30"
sendTimeout="00:00:40"
bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="WeakWildcard"
maxReceivedMessageSize="1000"
messageEncoding="Mtom"
proxyAddress="http://foo/bar"
textEncoding="utf-16"
useDefaultWebProxy="false">
<reliableSession ordered="false"
inactivityTimeout="00:02:00"
enabled="true" />
<security mode="Transport">
<transport clientCredentialType="Digest"
proxyCredentialType="None"
realm="someRealm" />
<message clientCredentialType="Windows"
negotiateServiceCredential="false"
algorithmSuite="Aes128"
defaultProtectionLevel="None" />
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.ServiceModel>
</configuration>