Sdílet prostřednictvím


<basicHttpBinding>

Představuje vazbu, kterou služba Windows Communication Foundation (WCF) lze použít ke konfiguraci a zveřejnění koncových bodů, které jsou schopny komunikovat s webovými službami založené na ASMX a klienty a dalšími službami, které odpovídají WS-I Základní profil 1.1.

<Konfigurace>
  <System.servicemodel>
    <Vazby>
      <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>

Atributy a elementy

Následující části popisují atributy, podřízené prvky a nadřazené prvky.

Atributy

Atribut Popis
allowCookies Logická hodnota, která označuje, jestli klient přijímá soubory cookie a šíří je v budoucích požadavcích. Výchozí formát je false.

Tuto vlastnost můžete použít při interakci s webovými službami ASMX, které používají soubory cookie. Tímto způsobem si můžete být jistí, že se soubory cookie vrácené ze serveru automaticky zkopírují do všech budoucích požadavků klientů pro tuto službu.
bypassProxyOnLocal Logická hodnota, která určuje, jestli se má obejít proxy server pro místní adresy. Výchozí formát je false.

Internetový prostředek je místní, pokud má místní adresu. Místní adresa je adresa, která je ve stejném počítači, místní síti LAN nebo intranetu, a je syntakticky identifikována chybějící tečkou (.) jako v identifikátorech http://webserver/ URI a http://localhost/.

Nastavení tohoto atributu určuje, jestli koncové body nakonfigurované pomocí BasicHttpBinding používají při přístupu k místním prostředkům proxy server. Pokud je truetento atribut , požadavky na místní internetové prostředky nepoužívají proxy server. Pokud chcete, aby klienti při komunikaci se službami na stejném počítači používali proxy server, použijte název hostitele (nikoli localhost), pokud je tento atribut nastavený na truehodnotu .

Pokud je falsetento atribut , všechny internetové požadavky se provádějí prostřednictvím proxy serveru.
closeTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace uzavření. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:01:00.
hostNameComparisonMode Určuje režim porovnání názvů hostitelů HTTP, který se použije k parsování identifikátorů URI. Tento atribut je typu HostNameComparisonMode, který označuje, jestli se název hostitele používá k připojení ke službě při porovnávání identifikátoru URI. Výchozí hodnota je StrongWildcard, která ignoruje název hostitele v shodě.
maxBufferPoolSize Celočíselná hodnota, která určuje maximální množství paměti, které je přiděleno pro použití správcem vyrovnávacích pamětí zpráv, které přijímají zprávy z kanálu. Výchozí hodnota je 524288 (0x80000) bajtů.

Správce vyrovnávacích pamětí minimalizuje náklady na použití vyrovnávacích pamětí pomocí fondu vyrovnávacích pamětí. Vyrovnávací paměti jsou vyžadovány ke zpracování zpráv službou, když přijdou z kanálu. Pokud ve fondu vyrovnávacích pamětí není dostatek paměti pro zpracování načítání zpráv, musí Správce vyrovnávacích pamětí přidělit další paměť z haldy CLR, což zvyšuje režii uvolňování paměti. Rozsáhlé přidělení z uvolňování paměti CLR indikuje, že velikost fondu vyrovnávací paměti je příliš malá a že výkon lze zvýšit s větším přidělením zvýšením limitu určeného tímto atributem.
maxBufferSize Celočíselná hodnota, která určuje maximální velikost vyrovnávací paměti v bajtech, která ukládá zprávy během jejich zpracování pro koncový bod nakonfigurovaný s touto vazbou. Výchozí hodnota je 65 536 bajtů.
maxReceivedMessageSize Kladné celé číslo, které definuje maximální velikost zprávy v bajtech včetně záhlaví pro zprávu, která může být přijata v kanálu nakonfigurovaného pomocí této vazby. Odesílatel obdrží chybu SOAP, pokud je zpráva pro příjemce příliš velká. Příjemce zprávu zahodí a vytvoří záznam události v protokolu trasování. Výchozí hodnota je 65 536 bajtů.
messageEncoding Definuje kodér použitý ke kódování zprávy SOAP. Mezi platné hodnoty patří:

– Text: Použijte kodér textových zpráv.
- Mtom: Použijte kodér MTOM (Message Transmission Organization Mechanism 1.0).

Výchozí hodnota je Text. Tento atribut je typu WSMessageEncoding.
name Řetězec, který obsahuje název konfigurace vazby. Tato hodnota by měla být jedinečná mezi vazbami stejného typu. Počínaje rozhraním .NET Framework 4 není nutné, aby vazby a chování měly název. Další informace o výchozí konfiguraci a bezpomenných vazbách a chování najdete v tématu Zjednodušená konfigurace a zjednodušená konfigurace pro služby WCF.
openTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace otevření. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:01:00.
proxyAddress Identifikátor URI, který obsahuje adresu proxy serveru HTTP. Pokud useSystemWebProxy je nastavená hodnota true, musí to být null. Výchozí formát je null.
receiveTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace příjmu. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:10:00.
sendTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace odeslání. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:01:00.
textEncoding Nastaví kódování znakové sady, které se má použít pro generování zpráv ve vazbě. Mezi platné hodnoty patří:

- BigEndianUnicode: Kódování Unicode BigEndian.
- Unicode: 16bitové kódování.
- UTF8: 8bitové kódování

Výchozí hodnota je UTF8. Tento atribut je typu Encoding.
transferMode Platná TransferMode hodnota, která určuje, jestli se zprávy ukládají do vyrovnávací paměti nebo streamují na žádost nebo odpověď.
useDefaultWebProxy Logická hodnota, která určuje, jestli se má použít automaticky nakonfigurovaný proxy server HTTP systému, pokud je k dispozici. Výchozí formát je true.

Podřízené elementy

Element Popis
<Zabezpečení> Definuje nastavení zabezpečení pro vazbu. Tento prvek je typu BasicHttpSecurityElement.
<čtenářQuotas> Definuje omezení složitosti zpráv SOAP, které mohou být zpracovány koncovými body nakonfigurovanými pomocí této vazby. Tento prvek je typu XmlDictionaryReaderQuotasElement.

Nadřazené elementy

Element Popis
<Vazby> Tento element obsahuje kolekci standardních a vlastních vazeb.

Poznámky

BasicHttpBinding používá http jako přenos pro odesílání zpráv SOAP 1.1. Služba může tuto vazbu použít ke zveřejnění koncových bodů, které odpovídají WS-I BP 1.1, například těch, které využívají klienti ASMX. Podobně klient může použít BasicHttpBinding ke komunikaci se službami, které zveřejňují koncové body, které odpovídají WS-I BP 1.1, jako jsou webové služby ASMX nebo služby nakonfigurované pomocí BasicHttpBinding.

Zabezpečení je ve výchozím nastavení vypnuté, ale můžete ho přidat nastavením atributu mode podřízeného <prvku zabezpečení> na jinou hodnotu než None. Ve výchozím nastavení používá kódování zpráv "Text" a kódování textu UTF-8.

Příklad 1

Následující příklad ukazuje použití BasicHttpBinding , který poskytuje komunikaci PROTOKOLU HTTP a maximální interoperabilitu s webovými službami první a druhé generace. Vazba je určena v konfiguračních souborech pro klienta a službu. Typ vazby je určen pomocí binding atributu elementu <endpoint> . Pokud chcete nakonfigurovat základní vazbu a změnit některá její nastavení, je nutné definovat konfiguraci vazby. Koncový bod musí odkazovat na konfiguraci vazby podle názvu pomocí atributu bindingConfiguration elementu <endpoint> , jak je znázorněno v následujícím konfiguračním kódu služby.

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

Příklad 2

Počínaje rozhraním .NET Framework 4 není nutné, aby vazby a chování měly název. Funkce z předchozího příkladu lze dosáhnout odebráním bindingConfiguration z adresy koncového bodu a názvu z vazby.

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

Další informace o výchozí konfiguraci a bezpomenných vazbách a chování najdete v tématu Zjednodušená konfigurace a zjednodušená konfigurace pro služby WCF.

Viz také