<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 true tento 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 true hodnotu .Pokud je false tento 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.