<associazioneHttpWs>
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 protezione e l'autenticazione dei messaggi. Il trasporto è HTTP e la codifica dei messaggi è Text/XML.
<system.serviceModel>
<bindings>
<associazioneHttpWs>
<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 maxDepth="integer"
maxStringContentLength="integer"
maxByteArrayContentLength="integer"
maxBytesPerRead="integer"
maxNameTableCharCount="integer" />
</binding>
</wsHttpBinding>
Attributi ed elementi
Attributi
Attributo | Descrizione |
---|---|
allowCookies |
Valore booleano che indica se il client accetta cookie e li propaga alle richieste future. L'impostazione predefinita è false. È possibile utilizzare questa proprietà quando si interagisce con servizi Web ASMX che utilizzano cookie. In tal 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 utilizzata per analizzare gli URI. Questo attributo è di tipo HostnameComparisonMode, il quale indica se il nome host viene utilizzato per raggiungere il servizio in caso di corrispondenza dell'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) utilizzano buffer. La creazione e l'eliminazione dei buffer a ogni loro utilizzo sono operazioni onerose, come anche le procedure di Garbage Collection dei buffer. Quando si utilizza un pool di buffer è possibile prelevare un buffer dal pool, utilizzarlo e, al termine delle operazioni, riporlo nel pool. In questo modo è possibile evitare il sovraccarico dovuto alla creazione e all'eliminazione dei buffer. |
maxReceivedMessageSize |
Un numero intero positivo che specifica la dimensione massima del messaggio, incluse le intestazioni, che può essere ricevuto in 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. L'impostazione predefinita è 65.536. |
messageEncoding |
Definisce il codificatore utilizzato per codificare il messaggio. Di seguito vengono elencati i valori validi:
L'attributo è di tipo WSMessageEncoding. |
name |
Stringa che contiene il nome della configurazione dell'associazione. Questo valore deve essere univoco perché viene utilizzato per identificare l'associazione. |
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 e 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 utilizzare per l'emissione dei messaggi sull'associazione. Di seguito vengono elencati i valori validi:
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 utilizzato il proxy HTTP di sistema configurato automaticamente. Il valore predefinito è true. |
Elementi figlio
Elemento | Descrizione |
---|---|
Definisce le impostazioni di protezione per l'associazione. L'elemento è di tipo WSHttpSecurityElement. |
|
Definisce i vincoli sulla complessità dei messaggi SOAP che possono essere elaborati dagli endpoint configurati con questa associazione. L'elemento è di tipo XmlDictionaryReaderQuotasElement. |
|
Specifica se vengono stabilite sessioni affidabili tra endpoint del canale. |
Elementi padre
Elemento | Descrizione |
---|---|
Questo elemento contiene un insieme di associazioni standard e personalizzate. Ciascuna voce è identificata dal relativo name. I servizi utilizzano le associazioni collegandole mediante il name. |
Osservazioni
WSHttpBinding è simile a BasicHttpBinding ma fornisce più funzionalità del servizio Web. Utilizza il trasporto HTTP e fornisce protezione 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 name="test"
closeTimeout="00:00:10"
openTimeout="00:00:20"
receiveTimeout="00:00:30"
sendTimeout="00:00:40"
bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="WeakWildcard"
maxMessageSize="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>
Vedere anche
Riferimenti
WSHttpBinding
WSHttpBindingElement
Concetti
Altre risorse
Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients