Dela via


<basicHttpBinding>

Representerar en bindning som en WCF-tjänst (Windows Communication Foundation) kan använda för att konfigurera och exponera slutpunkter som kan kommunicera med ASMX-baserade webbtjänster och klienter och andra tjänster som överensstämmer med WS-I Basic Profile 1.1.

<Konfiguration>
  <system.serviceModel>
    <Bindningar>
      <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>

Attribut och element

I följande avsnitt beskrivs 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 den tjänsten.
bypassProxyOnLocal Ett booleskt värde som anger om du vill kringgå proxyservern för lokala adresser. Standardvärdet är false.

En Internetresurs är lokal om den har en lokal adress. En lokal adress är en som finns på samma dator, det lokala LAN:et eller intranätet och identifieras syntaktiskt av bristen på en punkt (.) som i URI:erna http://webserver/ och http://localhost/.

Om du anger det här attributet avgör du om slutpunkter som konfigurerats med BasicHttpBinding använder proxyservern vid åtkomst till lokala resurser. Om det här attributet är trueanvänder begäranden till lokala Internetresurser inte proxyservern. Använd värdnamnet (i stället för localhost) om du vill att klienter ska gå via en proxy när de pratar med tjänster på samma dator när det här attributet är inställt truepå .

När det här attributet är falsegörs alla Internetbegäranden via proxyservern.
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 heltalsvärde som anger den maximala mängd minne som allokeras för användning av chefen för de meddelandebuffertar som tar emot meddelanden från kanalen. Standardvärdet är 524288 (0x80000) byte.

Bufferthanteraren minimerar kostnaden för att använda buffertar med hjälp av en buffertpool. Buffertar krävs för att bearbeta meddelanden från tjänsten när de kommer ut ur kanalen. Om det inte finns tillräckligt med minne i buffertpoolen för att bearbeta meddelandebelastningen måste bufferthanteraren allokera ytterligare minne från CLR-heapen, vilket ökar skräpinsamlingens overhead. Omfattande allokering från CLR-skräphögen är en indikation på att buffertpoolens storlek är för liten och att prestanda kan förbättras med en större allokering genom att öka den gräns som anges av det här attributet.
maxBufferSize Ett heltalsvärde som anger den maximala storleken i byte för en buffert som lagrar meddelanden medan de bearbetas för en slutpunkt som konfigurerats med den här bindningen. Standardvärdet är 65 536 byte.
maxReceivedMessageSize Ett positivt heltal som definierar den maximala meddelandestorleken i byte, inklusive rubriker, för ett meddelande som kan tas emot på en kanal som konfigurerats med den här bindningen. Avsändaren får ett SOAP-fel om meddelandet är för stort för mottagaren. Mottagaren släpper meddelandet och skapar en post för händelsen i spårningsloggen. Standardvärdet är 65 536 byte.
messageEncoding Definierar kodaren som används för att koda SOAP-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 ska vara unikt bland bindningar av samma typ. 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 tidsintervallet för en öppen å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.
proxyAddress En URI som innehåller adressen till HTTP-proxyn. Om useSystemWebProxy är inställt på truemåste den här inställningen vara null. Standardvärdet är null.
receiveTimeout Ett TimeSpan värde som anger tidsintervallet för en mottagningsåtgärd som ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:10:00.
sendTimeout Ett TimeSpan värde som anger tidsintervallet för en sändningså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.
textEncoding Anger teckenuppsättningens kodning som ska användas för att generera meddelanden på bindningen. Giltiga värden omfattar följande:

- BigEndianUnicode: Unicode BigEndian-kodning.
– Unicode: 16-bitars kodning.
- UTF8: 8-bitars kodning

Standardvärdet är UTF8. Det här attributet är av typen Encoding.
transferMode Ett giltigt TransferMode värde som anger om meddelanden buffrats eller strömmats på en begäran eller ett svar.
useDefaultWebProxy Ett booleskt värde som anger om den automatiskt konfigurerade HTTP-proxyn för systemet ska användas, om tillgängligt. Standardvärdet är true.

Underordnade element

Element Beskrivning
<Säkerhet> Definierar säkerhetsinställningarna för bindningen. Det här elementet är av typen BasicHttpSecurityElement.
<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.

Överordnade element

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

Kommentarer

BasicHttpBinding använder HTTP som transport för att skicka SOAP 1.1-meddelanden. En tjänst kan använda den här bindningen för att exponera slutpunkter som överensstämmer med WS-I BP 1.1, till exempel de som ASMX-klienter använder. På samma sätt kan en klient använda BasicHttpBinding för att kommunicera med tjänster som exponerar slutpunkter som överensstämmer med WS-I BP 1.1, till exempel ASMX-webbtjänster eller tjänster som konfigurerats med BasicHttpBinding.

Säkerhet är inaktiverat som standard, men kan läggas till för att ställa in attributet läge för det< underordnade säkerhetselementet> till ett annat värde än None. Den använder en textmeddelandekodning och UTF-8-textkodning som standard.

Exempel 1

I följande exempel visas användningen av BasicHttpBinding som ger HTTP-kommunikation och maximal samverkan med första och andra generationens webbtjänster. Bindningen anges i konfigurationsfilerna för klienten och tjänsten. Bindningstypen anges med binding -attributet för -elementet <endpoint> . Om du vill konfigurera den grundläggande bindningen och ändra några av dess inställningar måste du definiera en bindningskonfiguration. Slutpunkten måste referera till bindningskonfigurationen efter namn med hjälp bindingConfiguration av -attributet för -elementet <endpoint> , enligt följande konfigurationskod för tjänsten.

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

Exempel 2

Från och med .NET Framework 4 krävs inte bindningar och beteenden för att ha ett namn. Funktionen från föregående exempel kan utföras genom att ta bort bindingConfiguration från slutpunktsadressen och namnet från bindningen.

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

Mer information om standardkonfiguration och namnlösa bindningar och beteenden finns i Förenklad konfiguration och förenklad konfiguration för WCF-tjänster.

Se även