Dela via


<wsHttpBinding>

Definierar en säker, tillförlitlig, samverkande bindning som lämpar sig för icke-duplex-tjänstkontrakt. Bindningen implementerar följande specifikationer: WS-Reliable Messaging för tillförlitlighet och WS-Security för meddelandesäkerhet och autentisering. Transporten är HTTP och meddelandekodning är Text-/XML-kodning.

<Konfiguration>
  <system.serviceModel>
    <Bindningar>
      <wsHttpBinding>

Syntax

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

Attribut och element

Följande avsnitt beskriver attribut, underordnade element och överordnade element

Attribut

Attribut Beskrivning
allowCookies Ett booleskt värde som anger om klienten accepterar cookies och sprider dem på framtida begäranden. Standardvärdet är False.

Du kan använda den här egenskapen när du interagerar med ASMX-webbtjänster som använder cookies. På så sätt kan du vara säker på att de cookies som returneras från servern automatiskt kopieras till alla framtida klientbegäranden för tjänsten.
bypassProxyOnLocal Ett booleskt värde som anger om proxyservern ska kringgås för lokala adresser. Standardvärdet är false.
closeTimeout Ett TimeSpan värde som anger tidsintervallet för en stängningsåtgärd som ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:01:00.
hostnameComparisonMode Anger det HTTP-värdnamnsjämförelseläge som används för att parsa URI:er. Det här attributet är av typen HostNameComparisonMode, vilket anger om värdnamnet används för att nå tjänsten vid matchning på URI:n. Standardvärdet är StrongWildcard, som ignorerar värdnamnet i matchningen.
maxBufferPoolSize Ett heltal som anger den maximala buffertpoolstorleken för den här bindningen. Standardvärdet är 524 288 byte (512 * 1024). Många delar av Windows Communication Foundation (WCF) använder buffertar. Att skapa och förstöra buffertar varje gång de används är dyrt, och skräpinsamling för buffertar är också dyrt. Med buffertpooler kan du ta en buffert från poolen, använda den och returnera den till poolen när du är klar. Därmed undviks kostnaden för att skapa och förstöra buffertar.
maxReceivedMessageSize Ett positivt heltal som anger den maximala meddelandestorleken i byte, inklusive rubriker, som kan tas emot på en kanal som konfigurerats med den här bindningen. Avsändaren av ett meddelande som överskrider den här gränsen får ett SOAP-fel. Mottagaren släpper meddelandet och skapar en post för händelsen i spårningsloggen. Standardvärdet är 65536.
messageEncoding Definierar kodaren som används för att koda meddelandet. Giltiga värden omfattar följande:

- Text: Använd en textmeddelandekodare.
– Mtom: Använd en MTOM-kodare (Message Transmission Organization Mechanism 1.0).
– Standardvärdet är Text.

Det här attributet är av typen WSMessageEncoding.
name En sträng som innehåller bindningens konfigurationsnamn. Det här värdet bör vara unikt eftersom det används som identifiering för bindningen. Från och med .NET Framework 4 krävs inte bindningar och beteenden för att ha ett namn. Mer information om standardkonfiguration och namnlösa bindningar och beteenden finns i Förenklad konfiguration och förenklad konfiguration för WCF-tjänster.
openTimeout Ett TimeSpan värde som anger hur länge en öppen åtgärd ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:01:00.
proxyAddress En URI som anger adressen till HTTP-proxyn. Om useSystemWebProxy är truemåste den här inställningen vara null. Standardvärdet är null.
receiveTimeout Ett TimeSpan värde som anger hur länge en mottagningsåtgärd ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:01:00.
sendTimeout Ett TimeSpan värde som anger hur länge en sändningsåtgärd ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:01:00.
textKodning Anger den teckenuppsättningskodning som ska användas för att generera meddelanden på bindningen. Giltiga värden omfattar följande:

- UnicodeFffeTextEncoding: Unicode BigEndian-kodning.
- Utf16TextEncoding: 16-bitars kodning.
- Utf8TextEncoding: 8-bitars kodning.

Standardvärdet är Utf8TextEncoding.

Det här attributet är av typen Encoding.
transactionFlow Ett booleskt värde som anger om bindningen stöder flödande WS-transaktioner. Standardvärdet är false.
useDefaultWebProxy Ett booleskt värde som anger om systemets automatiskt konfigurerade HTTP-proxy används. Standardvärdet är true.

Underordnade element

Element Beskrivning
<Säkerhet> Definierar säkerhetsinställningarna för bindningen. Det här elementet är av typen WSHttpSecurityElement.
<readerQuotas> Definierar begränsningarna för komplexiteten i SOAP-meddelanden som kan bearbetas av slutpunkter som konfigurerats med den här bindningen. Det här elementet är av typen XmlDictionaryReaderQuotasElement.
<reliableSession> Anger om tillförlitliga sessioner upprättas mellan kanalslutpunkter.

Överordnade element

Element Beskrivning
<Bindningar> Det här elementet innehåller en samling standard- och anpassade bindningar.

Kommentarer

WSHttpBinding liknar BasicHttpBinding men ger fler webbtjänstfunktioner. Den använder HTTP-transporten och ger meddelandesäkerhet, liksom BasicHttpBinding, men den tillhandahåller även transaktioner, tillförlitliga meddelanden och WS-adressering, antingen aktiverade som standard eller tillgängliga via en enda kontrollinställning.

Exempel

<configuration>
  <system.ServiceModel>
    <bindings>
      <wsHttpBinding>
        <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://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>

Se även