Delen via


<basicHttpBinding>

Vertegenwoordigt een binding die een WCF-service (Windows Communication Foundation) kan gebruiken om eindpunten te configureren en beschikbaar te maken die kunnen communiceren met op ASMX gebaseerde webservices en clients en andere services die voldoen aan WS-I Basic Profile 1.1.

<Configuratie>
  <system.serviceModel>
    <Bindings>
      <basicHttpBinding>

Syntax

<basicHttpBinding>
  <binding allowCookies="Boolean"
           bypassProxyOnLocal="Boolean"
           closeTimeout="TimeSpan"
           hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
           maxBufferPoolSize="Integer"
           maxBufferSize="Integer"
           maxReceivedMessageSize="Integer"
           messageEncoding="Text/Mtom"
           name="String"
           openTimeout="TimeSpan"
           proxyAddress="URI"
           receiveTimeout="TimeSpan"
           sendTimeout="TimeSpan"
           textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding"
           transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse"
           useDefaultWebProxy="Boolean">
    <security mode="None/Transport/Message/TransportWithMessageCredential/TransportCredentialOnly">
      <transport clientCredentialType="None/Basic/Digest/Ntlm/Windows/Certificate"
                 proxyCredentialType="None/Basic/Digest/Ntlm/Windows"
                 realm="String" />
      <message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
               clientCredentialType="UserName/Certificate" />
    </security>
    <readerQuotas maxArrayLength="Integer"
                  maxBytesPerRead="Integer"
                  maxDepth="Integer"
                  maxNameTableCharCount="Integer"
                  maxStringContentLength="Integer" />
  </binding>
</basicHttpBinding>

Kenmerken en elementen

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

Kenmerken

Kenmerk Beschrijving
allowCookies Een Booleaanse waarde die aangeeft of de client cookies accepteert en doorgeeft bij toekomstige aanvragen. De standaardwaarde is false.

U kunt deze eigenschap gebruiken wanneer u communiceert met ASMX-webservices die gebruikmaken van cookies. Op deze manier kunt u er zeker van zijn dat de cookies die van de server worden geretourneerd, automatisch worden gekopieerd naar alle toekomstige clientaanvragen voor die service.
bypassProxyOnLocal Een Booleaanse waarde die aangeeft of de proxyserver voor lokale adressen moet worden overgeslagen. De standaardwaarde is false.

Een internetbron is lokaal als deze een lokaal adres heeft. Een lokaal adres is een adres dat zich op dezelfde computer, het lokale LAN of intranet bevindt en syntactisch wordt geïdentificeerd door het ontbreken van een punt (.) zoals in de URI's http://webserver/ en http://localhost/.

Als u dit kenmerk instelt, bepaalt u of eindpunten die zijn geconfigureerd met de BasicHttpBinding, de proxyserver gebruiken bij toegang tot lokale resources. Als dit kenmerk is, wordt truevoor aanvragen naar lokale internetbronnen geen gebruikgemaakt van de proxyserver. Gebruik de hostnaam (in plaats van localhost) als u wilt dat clients via een proxy gaan wanneer ze met services op dezelfde computer praten wanneer dit kenmerk is ingesteld op true.

Wanneer dit kenmerk is false, worden alle internetaanvragen gedaan via de proxyserver.
closeTimeout Een TimeSpan waarde die het tijdsinterval aangeeft dat is opgegeven voor het voltooien van een bijna-bewerking. Deze waarde moet groter zijn dan of gelijk zijn aan Zero. De standaardwaarde is 00:01:00.
hostNameComparisonMode Hiermee geeft u de http-hostnaamvergelijkingsmodus op die wordt gebruikt voor het parseren van URI's. Dit kenmerk is van het type HostNameComparisonMode, waarmee wordt aangegeven of de hostnaam wordt gebruikt om de service te bereiken bij het vergelijken op de URI. De standaardwaarde is StrongWildcard, waarbij de hostnaam in de overeenkomst wordt genegeerd.
maxBufferPoolSize Een geheel getal dat de maximale hoeveelheid geheugen aangeeft die is toegewezen voor gebruik door de manager van de berichtbuffers die berichten van het kanaal ontvangen. De standaardwaarde is 524288 (0x80000) bytes.

Bufferbeheer minimaliseert de kosten van het gebruik van buffers met behulp van een buffergroep. Buffers zijn vereist om berichten van de service te verwerken wanneer ze uit het kanaal komen. Als er onvoldoende geheugen in de buffergroep is om de berichtbelasting te verwerken, moet bufferbeheer extra geheugen uit de CLR-heap toewijzen, waardoor de overhead voor garbagecollection toeneemt. Uitgebreide toewijzing van de CLR garbage heap is een indicatie dat de grootte van de buffergroep te klein is en dat de prestaties kunnen worden verbeterd met een grotere toewijzing door de limiet te verhogen die is opgegeven door dit kenmerk.
maxBufferSize Een geheel getal dat de maximale grootte, in bytes, aangeeft van een buffer waarin berichten worden opgeslagen terwijl ze worden verwerkt voor een eindpunt dat is geconfigureerd met deze binding. De standaardwaarde is 65.536 bytes.
maxReceivedMessageSize Een positief geheel getal dat de maximale berichtgrootte definieert, in bytes, inclusief kopteksten, voor een bericht dat kan worden ontvangen op een kanaal dat is geconfigureerd met deze binding. De afzender ontvangt een SOAP-fout als het bericht te groot is voor de ontvanger. De ontvanger verwijdert het bericht en maakt een vermelding van de gebeurtenis in het traceringslogboek. De standaardwaarde is 65.536 bytes.
messageEncoding Hiermee definieert u de encoder die wordt gebruikt om het SOAP-bericht te coderen. Geldige waarden zijn onder andere:

- Tekst: gebruik een tekstberichtcoderingsprogramma.
- Mtom: gebruik een Message Transmission Organization Mechanism 1.0-encoder (MTOM).

De standaardwaarde is de tekst. Dit kenmerk is van het type WSMessageEncoding.
name Een tekenreeks die de configuratienaam van de binding bevat. Deze waarde moet uniek zijn onder bindingen van hetzelfde type. Vanaf .NET Framework 4 hoeven bindingen en gedrag geen 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 is opgegeven voor het voltooien van een open bewerking. 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 bevat. Als useSystemWebProxy is ingesteld op true, moet deze instelling zijn null. De standaardwaarde is null.
receiveTimeout Een TimeSpan waarde die het tijdsinterval aangeeft dat is opgegeven voor het voltooien van een ontvangstbewerking. Deze waarde moet groter zijn dan of gelijk zijn aan Zero. De standaardwaarde is 00:10:00.
sendTimeout Een TimeSpan waarde die het tijdsinterval aangeeft dat is opgegeven voor het voltooien van een verzendbewerking. 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.
transferMode Een geldige TransferMode waarde die aangeeft of berichten worden gebufferd of gestreamd voor een aanvraag of antwoord.
useDefaultWebProxy Een Booleaanse waarde die aangeeft of de automatisch geconfigureerde HTTP-proxy van het systeem moet worden gebruikt, indien beschikbaar. De standaardwaarde is true.

Onderliggende elementen

Element Beschrijving
<Veiligheid> Definieert de beveiligingsinstellingen voor de binding. Dit element is van het type BasicHttpSecurityElement.
<readerQuotas> 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.

Bovenliggende elementen

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

Opmerkingen

De BasicHttpBinding gebruikt HTTP als transport voor het verzenden van SOAP 1.1-berichten. Een service kan deze binding gebruiken om eindpunten beschikbaar te maken die voldoen aan WS-I BP 1.1, zoals de eindpunten die ASMX-clients gebruiken. Op dezelfde manier kan een client de BasicHttpBinding gebruiken om te communiceren met services die eindpunten weergeven die voldoen aan WS-I BP 1.1, zoals ASMX-webservices of services die zijn geconfigureerd met basicHttpBinding.

Beveiliging is standaard uitgeschakeld, maar kan worden toegevoegd door het moduskenmerk van het <onderliggende beveiligingselement> in te stellen op een andere waarde dan None. Standaard wordt een tekstcodering en UTF-8-tekstcodering gebruikt.

Voorbeeld 1

In het volgende voorbeeld ziet u het gebruik van dat HTTP-communicatie en maximale interoperabiliteit biedt met webservices van BasicHttpBinding de eerste en tweede generatie. De binding wordt opgegeven in de configuratiebestanden voor de client en service. Het bindingstype wordt opgegeven met behulp van het binding kenmerk van het <endpoint> element. Als u de basisbinding wilt configureren en enkele instellingen wilt wijzigen, moet u een bindingsconfiguratie definiëren. Het eindpunt moet op naam verwijzen naar de bindingsconfiguratie met behulp van het bindingConfiguration kenmerk van het <endpoint> -element, zoals wordt weergegeven in de volgende configuratiecode voor de service.

<system.serviceModel>
  <services>
    <service type="Microsoft.ServiceModel.Samples.CalculatorService"
             behaviorConfiguration="CalculatorServiceBehavior">
      <endpoint address=""
                binding="basicHttpBinding"
                bindingConfiguration="Binding1"
                contract="Microsoft.ServiceModel.Samples.ICalculator" />
    </service>
  </services>
  <bindings>
    <basicHttpBinding>
      <binding name="Binding1"
               hostNameComparisonMode="StrongWildcard"
               receiveTimeout="00:10:00"
               sendTimeout="00:10:00"
               openTimeout="00:10:00"
               closeTimeout="00:10:00"
               maxReceivedMessageSize="65536"
               maxBufferSize="65536"
               maxBufferPoolSize="524288"
               transferMode="Buffered"
               messageEncoding="Text"
               textEncoding="utf-8"
               bypassProxyOnLocal="false"
               useDefaultWebProxy="true">
        <security mode="None" />
      </binding>
    </basicHttpBinding>
  </bindings>
</system.serviceModel>

Voorbeeld 2

Vanaf .NET Framework 4 zijn bindingen en gedrag niet vereist om een naam te hebben. De functionaliteit uit het vorige voorbeeld kan worden bereikt door de bindingConfiguration uit het eindpuntadres en de naam uit de binding te verwijderen.

<system.serviceModel>
  <services>
    <service type="Microsoft.ServiceModel.Samples.CalculatorService"
             behaviorConfiguration="CalculatorServiceBehavior">
      <endpoint address=""
                binding="basicHttpBinding"
                contract="Microsoft.ServiceModel.Samples.ICalculator" />
    </service>
  </services>
  <bindings>
    <basicHttpBinding>
      <binding hostNameComparisonMode="StrongWildcard"
               receiveTimeout="00:10:00"
               sendTimeout="00:10:00"
               openTimeout="00:10:00"
               closeTimeout="00:10:00"
               maxReceivedMessageSize="65536"
               maxBufferSize="65536"
               maxBufferPoolSize="524288"
               transferMode="Buffered"
               messageEncoding="Text"
               textEncoding="utf-8"
               bypassProxyOnLocal="false"
               useDefaultWebProxy="true">
        <security mode="None" />
      </binding>
    </basicHttpBinding>
  </bindings>
</system.serviceModel>

Zie Vereenvoudigde configuratie en Vereenvoudigde configuratie voor WCF-services voor meer informatie over standaardconfiguratie en naamloze bindingen en gedrag.

Zie ook