Delen via


<wsDualHttpBinding>

Definieert een veilige, betrouwbare en interoperabele binding die geschikt is voor duplex servicecontracten of communicatie via SOAP-tussenpersonen.

<Configuratie>
  <system.serviceModel>
    <Bindings>
      <wsDualHttpBinding>

Syntax

<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 maxArrayLength="Integer"
                  maxBytesPerRead="Integer"
                  maxDepth="Integer"
                  maxNameTableCharCount="Integer"
                  maxStringContentLength="Integer" />
  </binding>
</wsDualHttpBinding>

Kenmerken en elementen

In de volgende secties worden kenmerken, onderliggende elementen en bovenliggende elementen beschreven

Kenmerken

Kenmerk Beschrijving
bypassProxyOnLocal Een Booleaanse waarde die aangeeft of de proxyserver voor lokale adressen moet worden overgeslagen. De standaardwaarde is false.
clientBaseAddress Een URI waarmee het basisadres wordt ingesteld waarnaar de client luistert voor antwoordberichten van de service. Indien opgegeven, wordt dit adres (plus een per-kanaalGUID) gebruikt voor het luisteren. Als de waarde niet is opgegeven, wordt het clientbasisadres gegenereerd op een transportspecifieke manier. De standaardwaarde is null.
closeTimeout Een TimeSpan waarde die het opgegeven tijdsinterval aangeeft voor het voltooien van een close-bewerking. Deze waarde moet groter zijn dan of gelijk zijn aan Zero. De standaardwaarde is 00:01:00.
hostnaamComparisonMode Hiermee geeft u de http-hostnaamvergelijkingsmodus op die wordt gebruikt voor het parseren van URI's. Dit kenmerk is van het type HostNameComparisonMode, dat aangeeft of de hostnaam wordt gebruikt om de service te bereiken bij het vergelijken op de URI. De standaardwaarde is StrongWildcard, waarmee de hostnaam in de overeenkomst wordt genegeerd.
maxBufferPoolSize Een geheel getal dat de maximale grootte van de buffergroep voor deze binding aangeeft. De standaardwaarde is 524.288 bytes (512 * 1024). Veel onderdelen van Windows Communication Foundation (WCF) maken gebruik van buffers. Het maken en vernietigen van buffers elke keer dat ze worden gebruikt, is duur en garbagecollection voor buffers is ook duur. Met bufferpools kunt u een buffer uit de pool nemen, deze gebruiken en teruggaan naar de pool wanneer u klaar bent. Zo wordt de overhead bij het maken en vernietigen van buffers vermeden.
maxReceivedMessageSize Een positief geheel getal dat de maximale berichtgrootte aangeeft, in bytes, inclusief headers, die kunnen worden ontvangen op een kanaal dat is geconfigureerd met deze binding. De afzender van een bericht dat deze limiet overschrijdt, ontvangt een SOAP-fout. De ontvanger verwijdert het bericht en maakt een vermelding van de gebeurtenis in het traceringslogboek. De standaardwaarde is 65536.
messageEncoding Definieert de encoder die wordt gebruikt om het bericht te coderen. Geldige waarden zijn onder andere:

- Tekst: gebruik een coderingsprogramma voor tekstberichten.
- Mtom: gebruik een Message Transmission Organization Mechanism 1.0-encoder (MTOM).
- De standaardwaarde is Tekst.

Dit kenmerk is van het type WSMessageEncoding.
naam Een tekenreeks die de configuratienaam van de binding bevat. Deze waarde moet uniek zijn omdat deze wordt gebruikt als identificatie voor de binding. Vanaf .NET Framework 4 zijn bindingen en gedrag niet vereist om een naam te hebben. Zie Vereenvoudigde configuratie en Vereenvoudigde configuratie voor WCF-services voor meer informatie over standaardconfiguratie en naamloze bindingen en gedrag.
openTimeout Een TimeSpan waarde die het tijdsinterval aangeeft dat een open bewerking moet worden voltooid. Deze waarde moet groter zijn dan of gelijk zijn aan Zero. De standaardwaarde is 00:01:00.
proxyAddress Een URI die het adres van de HTTP-proxy aangeeft. Als useDefaultWebProxy is true, moet deze instelling zijn null. De standaardwaarde is null.
receiveTimeout Een TimeSpan waarde die het opgegeven tijdsinterval aangeeft voor het voltooien van een ontvangstbewerking. Deze waarde moet groter zijn dan of gelijk zijn aan Zero. De standaardwaarde is 00:01:00.
sendTimeout Een TimeSpan waarde die het tijdsinterval aangeeft dat een verzendbewerking moet worden voltooid. Deze waarde moet groter zijn dan of gelijk zijn aan Zero. De standaardwaarde is 00:01:00.
Textencoding Hiermee stelt u de tekensetcodering in die moet worden gebruikt voor het verzenden van berichten op de binding. Geldige waarden zijn onder andere:

- BigEndianUnicode: Unicode BigEndian-codering.
- Unicode: 16-bits codering.
- UTF8: 8-bits codering

De standaardwaarde is UTF8. Dit kenmerk is van het type Encoding.
transactionFlow Een Booleaanse waarde die aangeeft of de binding stromende WS-transactions ondersteunt. De standaardwaarde is false.
useDefaultWebProxy Een Booleaanse waarde die aangeeft of de automatisch geconfigureerde HTTP-proxy van het systeem wordt gebruikt. Het proxyadres moet (dus niet ingesteld) zijn null als dit kenmerk is true. De standaardwaarde is true.

Onderliggende elementen

Element Beschrijving
<Veiligheid> Definieert de beveiligingsinstellingen voor de binding. Dit element is van het type WSDualHttpSecurityElement.
<lezerQuota's> Definieert de beperkingen voor de complexiteit van SOAP-berichten die kunnen worden verwerkt door eindpunten die met deze binding zijn geconfigureerd. Dit element is van het type XmlDictionaryReaderQuotasElement.
<reliableSession> Hiermee geeft u op of er betrouwbare sessies tot stand worden gebracht tussen kanaaleindpunten.

Bovenliggende elementen

Element Beschrijving
<Bindings> Dit element bevat een verzameling standaard- en aangepaste bindingen.

Opmerkingen

De WSDualHttpBinding biedt dezelfde ondersteuning voor webserviceprotocollen als de WSHttpBinding, maar voor gebruik met dubbelzijdige contracten. WSDualHttpBinding ondersteunt alleen SOAP-beveiliging en vereist betrouwbare berichten. Deze binding vereist dat de client een openbare URI heeft die een callback-eindpunt voor de service biedt. Dit wordt geleverd door het clientBaseAddress kenmerk. Een dubbele binding maakt het IP-adres van de client beschikbaar voor de service. De client moet beveiliging gebruiken om ervoor te zorgen dat deze alleen verbinding maakt met services die hij vertrouwt.

Deze binding kan worden gebruikt om betrouwbaar te communiceren via een of meer SOAP-tussenschakels.

Deze binding genereert standaard een runtimestack met WS-ReliableMessaging voor betrouwbaarheid, WS-Security voor berichtbeveiliging en -verificatie, HTTP voor berichtbezorging en tekst-/XML-berichtcodering.

Voorbeeld

<configuration>
  <system.ServiceModel>
    <bindings>
      <wsDualHttpBinding>
        <binding closeTimeout="00:00:10"
                 openTimeout="00:00:20"
                 receiveTimeout="00:00:30"
                 sendTimeout="00:00:40"
                 bypassProxyOnLocal="false"
                 clientBaseAddress="http://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>

Zie ook