<ws2007HttpBinding>

Definisce un'associazione interoperativa che fornisce il supporto per le versioni corrette degli elementi di associazione Security, ReliableSession e TransactionFlow.

<Configurazione>
  <system.serviceModel>
    <Associazioni>
      <ws2007HttpBinding>

Sintassi

<ws2007HttpBinding>
  <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 clientCredentialType ="Certificate/IssuedToken/None/UserName/Windows"
                 negotiateServiceCredential="Boolean"
                 algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
                 establishSecurityContext="Boolean" />
    </security>
    <readerQuotas maxArrayLength="Integer"
                  maxBytesPerRead="Integer"
                  maxDepth="Integer"
                  maxNameTableCharCount="Integer"
                  maxStringContentLength="Integer" />
  </binding>
</ws2007HttpBinding>

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo Descrizione
allowCookies Valore 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 ASP.NET (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 che indica se ignorare il server proxy per indirizzi locali. Il valore predefinito è false.
closeTimeout Valore di TimeSpan che specifica l'intervallo di tempo 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 (Uniform Resource Identifier). 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 Dimensione massima del pool di buffer dell'associazione. Il valore predefinito è 524.288 byte (512 * 1.024). Molte parti di Windows Communication Foundation (WCF) usano buffer. La creazione e l'eliminazione definitiva dei buffer a ogni utilizzo 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, reinserirlo nel pool. In questo modo è possibile evitare il sovraccarico dovuto alla creazione e all'eliminazione dei buffer.
maxReceivedMessageSize Dimensione massima in byte del messaggio, incluse le intestazioni, che può essere ricevuta in 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:

- Text: 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 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 devono avere un nome. Per altre informazioni sulla configurazione predefinita e sui comportamenti senza nome, 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 la creazione di messaggi nell'associazione. I valori validi sono i seguenti:

- UnicodeFffeTextEncoding: codifica Big Endian Unicode.
- Utf16TextEncoding: codifica a 16 bit.
- Utf8TextEncoding: codifica a 8 bit.

Il valore predefinito è Utf8TextEncoding.

L'attributo è di tipo Encoding.
transactionFlow Valore che specifica se l'associazione supporta il flusso di WS-Transactions. Il valore predefinito è false.
useDefaultWebProxy Valore 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

WS2007HttpBinding aggiunge un'associazione fornita dal sistema simile a WSHttpBinding, che tuttavia usa le versioni standard OASIS (Organization for the Advancement of Structured Information Standards) dei protocolli ReliableSession, Security e TransactionFlow. Quando si usa questa associazione, non è necessario apportare modifiche al modello a oggetti o alle impostazioni predefinite.

Esempio

<configuration>
  <system.ServiceModel>
    <bindings>
      <ws2007HttpBinding>
        <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://www.contoso.com"
                 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>
      </ws2007HttpBinding>
    </bindings>
  </system.ServiceModel>
</configuration>

Vedere anche