<webMessageEncoding>
Umožňuje čtení a zápis prostého textu XML, javascriptové notace (JSON) zpráv a "nezpracovaného" binárního obsahu při použití ve vazbě Windows Communication Foundation (WCF).
<Konfigurace>
<System.servicemodel>
<Vazby>
<vlastní vazby>
<Vazba>
<webMessageEncoding>
Syntax
<webMessageEncoding maxReadPoolSize="Integer"
maxWritePoolSize="Integer"
writeEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding" />
Atributy a elementy
Následující části popisují atributy, podřízené prvky a nadřazené prvky.
Atributy
Atribut | Popis |
---|---|
maxReadPoolSize |
Množství zpráv, které lze číst současně bez přidělení nových čtenářů. Větší velikosti fondů činí systém tolerantnější vůči špičkám aktivity za cenu větší pracovní sady. Výchozí hodnota je 64 čteček pro každý vnitřní kodér (text, JSON a "raw"). Zvýšení tohoto počtu zvyšuje spotřebu paměti, ale připraví kodér na to, aby se vypořádal s náhlými nárůsty příchozích zpráv, protože může místo vytváření nových použít čtenáře z fondu, které už jsou vytvořené. |
maxWritePoolSize |
Množství zpráv, které lze odeslat současně bez přidělování nových autorů. Větší velikosti fondů činí systém tolerantnější vůči špičkám aktivity za cenu větší pracovní sady. Výchozí hodnota je 16 zapisovačů pro každý vnitřní kodér (text, JSON a "raw"). Zvýšení tohoto čísla zvyšuje spotřebu paměti, ale připraví kodér na to, aby se vypořádal s náhlými nárůsty odchozích zpráv, protože může místo vytváření nových použít zapisovače z fondu, které už jsou vytvořené. |
writeEncoding |
Určuje kódování znakové sady, které se má použít pro generování zpráv ve vazbě. Platné hodnoty jsou: – UnicodeFffeTextEncoding: Kódování Unicode Big Endian. - Utf16TextEncoding: Kódování Unicode. - Utf8TextEncoding: 8bitové kódování. Výchozí hodnota je Utf8TextEncoding. Tento atribut je typu Encoding. |
Podřízené elementy
Element | Popis |
---|---|
<č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 |
---|---|
<Vazba> | Definuje všechny možnosti vazby vlastní vazby. |
Poznámky
Kódování je proces transformace zprávy na sekvenci bajtů. Dekódování je zpětný proces. Tyto procesy vyžadují specifikaci kódování znaků.
Element webMessageEncoding
funguje tak, že deleguje na řadu vnitřních kodérů pro zpracování kódování XML a JSON ve formátu prostého textu a "nezpracovaných" binárních dat. Toto delegování se provádí pomocí složeného kodéru zpráv.
Tento element vazby a jeho složený kodér se používají k řízení kódování ve scénářích, které nepoužívají zasílání zpráv SOAP používané elementem webHttpBinding
. Tyto scénáře zahrnují "Plain Old XML" (POX), Representational State Transfer (REST), RSS (Really Simple Syndication) a Atom syndikation a Asynchronous JavaScript and XML (AJAX). Složený kodér zpráv nepodporuje SOAP nebo WS-Addressing.
Element vazby lze nakonfigurovat s kódováním znaků zápisu pomocí atributu writeEncoding
. Zadaná Encoding hodnota určuje chování při zápisu pro případy JSON a Textal XML. Při čtení se rozumí jakémukoli platnému kódování zpráv a kódování textu.
maxReadPoolSize
a maxWritePoolSize
lze také použít k nastavení maximálního počtu čtenářů a autorů, kteří mají být přiděleni. Ve výchozím nastavení je přiděleno 64 čtenářů a 16 autorů.
Výchozí omezení složitosti jsou také nastavena pomocí elementu <readerQuotas> k ochraně před třídou útoků dos (DoS), které se snaží použít složitost zpráv k svázání prostředků zpracování koncových bodů.
Příklad
<webMessageEncoding maxReadPoolSize="256"
maxWritePoolSize="128"
messageVersion="None"
textEncoding="utf-8" />