<associazioneDualeHttpWs>

Definisce un'associazione protetta, affidabile e interoperabile adatta per contratti di servizio duplex o per la comunicazione tramite intermediari SOAP.

<system.serviceModel>
  <bindings>
    <associazioneDualeHttpWs>

<wsDualHttpBinding>
        <binding name="string"
        closeTimeout="TimeSpan"
        openTimeout="TimeSpan" 
        receiveTimeout="TimeSpan"
        sendTimeout="TimeSpan"
        bypassProxyOnLocal="Boolean"
        clientBaseAddress="URI"
        transactionFlow="Boolean" 
        hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
        maxBufferPoolSize="integer"
        maxReceivedMessageSize="Integer"
        messageEncoding="Text/Mtom" 
        proxyAddress="URI"
                
textEncoding="Unicode/BigEndianUnicode/UTF8"
        useDefaultWebProxy="Boolean">
        <reliableSession ordered="Boolean"
            inactivityTimeout="TimeSpan" />
        <security mode="None/Message">
           <message clientCredentialType="None/Windows/UserName/Certificate/CardSpace"
                negotiateServiceCredential="Boolean"
                    algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15" />
                </security>
        <readerQuotas maxDepth="integer" 
           maxStringContentLength="integer"
           maxByteArrayContentLength="integer"
           maxBytesPerRead="integer"
           maxNameTableCharCount="integer" />
    </binding>
</wsDualHttpBinding>

Attributi ed elementi

Attributi

Attributo Descrizione

bypassProxyOnLocal

Valore booleano che indica se ignorare il server proxy per indirizzi locali. Il valore predefinito è false.

clientBaseAddress

URI che imposta l'indirizzo di base che il client ascolta per i messaggi di risposta dal servizio. Se viene specificato, questo indirizzo (più un GUID per ogni canale) viene utilizzato per l'ascolto. Se il valore non viene specificato, l'indirizzo di base del client viene generato in un modo specifico del trasporto. Il valore predefinito è null.

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:

  • Text: utilizza un codificatore di testo del messaggio.
  • Mtom: utilizza un codificatore Message Transmission Organization Mechanism 1.0 (MTOM).
  • L'impostazione predefinita è Text.

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 useDefaultWebProxy 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

Imposta la codifica del set di caratteri da utilizzare per l'emissione dei messaggi nell'associazione. Di seguito vengono elencati i valori validi:

  • BigEndianUnicode: codifica Unicode BigEndian.
  • Unicode: codifica a 16 bit.
  • UTF8: codifica a 8 bit

L'impostazione predefinita è UTF8. 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 indica se viene utilizzato il proxy HTTP di sistema configurato automaticamente. L'indirizzo proxy deve essere null, ovvero non deve essere impostato, se l'attributo è true. L'impostazione predefinita è true.

Elementi figlio

Elemento Descrizione

<security> di <wsDualHttpBinding>

Definisce le impostazioni di protezione per l'associazione. L'elemento è di tipo WSDualHttpSecurityElement.

<quoteReader>

Definisce i vincoli sulla complessità dei messaggi SOAP che possono essere elaborati dagli endpoint configurati con questa associazione. L'elemento è di tipo XmlDictionaryReaderQuotasElement.

Elemento <reliableSession>

Specifica se vengono stabilite sessioni affidabili tra endpoint del canale.

Elementi padre

Elemento Descrizione

<bindings>

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

WSDualHttpBinding fornisce lo stesso supporto per i protocolli di servizi Web di WSHttpBinding, ma esclusivamente per l'utilizzo con contratti duplex. WSDualHttpBinding supporta solo la protezione SOAP e richiede un sistema di messaggistica affidabile. Per questa associazione è necessario che il client disponga di un URI pubblico che fornisca un endpoint di callback per il servizio. A tale scopo, utilizzare l'attributo clientBaseAddress. Un'associazione duale espone l'indirizzo IP del client al servizio. Nel client è necessario implementare un meccanismo di protezione in grado di garantire che il client si connetta solo a servizi ritenuti attendibili.

Questa associazione può essere utilizzata per comunicare in modo affidabile attraverso uno o più intermediari SOAP.

Per impostazione predefinita, questa associazione genera uno stack di runtime con WS-ReliableMessaging per l'affidabilità, WS-Security per la protezione del messaggio e l'autenticazione, HTTP per il recapito dei messaggi e una codifica messaggi Text/XML.

Esempio

<configuration>
<system.ServiceModel>
<bindings>
<wsDualHttpBinding>
    <binding name="test"
        closeTimeout="00:00:10"
        openTimeout="00:00:20" 
        receiveTimeout="00:00:30"
        sendTimeout="00:00:40"
        bypassProxyOnLocal="false" 
        clientBaseAddress="https://localhost:8001/client/"
        transactionFlow="true" 
        hostNameComparisonMode="WeakWildcard"
        maxReceivedMessageSize="1000"
        messageEncoding="Mtom" 
        proxyAddress="http://foo/bar" 
        textEncoding="utf-16"
        useDefaultWebProxy="false">
        <reliableSession ordered="false"
            inactivityTimeout="00:02:00" />
        <security mode="None">
            <message clientCredentialType="None"
                negotiateServiceCredential="false"
                algorithmSuite="Aes128" />
        </security>
    </binding>
</wsDualHttpBinding>
</bindings>
</system.ServiceModel>
</configuration>

Vedere anche

Riferimenti

WSDualHttpBinding
WSDualHttpBindingElement

Concetti

<associazione>

Altre risorse

Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients