Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ermöglicht das Lesen und Schreiben von Binären Inhalten, wenn sie in einer Windows Communication Foundation (WCF)-Bindung verwendet werden.
<configuration>
<system.serviceModel>
<bindings>
<customBinding>
<binding>
<webMessageEncoding>
Syntax
<webMessageEncoding maxReadPoolSize="Integer"
maxWritePoolSize="Integer"
writeEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding" />
Attribute und Elemente
In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.
Attribute
| Merkmal | Description |
|---|---|
maxReadPoolSize |
Die Anzahl der Nachrichten, die gleichzeitig gelesen werden können, ohne neue Leser zuzuweisen. Größere Poolgrößen machen das System toleranter für Aktivitätsspitzen zu Kosten eines größeren Arbeitssatzes. Der Standardwert ist 64 Leser für jeden inneren Encoder (Text, JSON und "raw"). Das Erhöhen dieser Zahl erhöht den Speicherverbrauch, bereitet den Encoder jedoch darauf vor, plötzliche Brüche eingehender Nachrichten zu bewältigen, da er Leser aus dem Pool verwenden kann, der bereits erstellt wurde, anstatt neue zu erstellen. |
maxWritePoolSize |
Die Anzahl der Nachrichten, die gleichzeitig gesendet werden können, ohne neue Autoren zuzuweisen. Größere Poolgrößen machen das System toleranter für Aktivitätsspitzen zu Kosten eines größeren Arbeitssatzes. Der Standardwert ist 16 Autoren für jeden inneren Encoder (Text, JSON und "raw"). Das Erhöhen dieser Zahl erhöht den Speicherverbrauch, bereitet den Encoder jedoch auf plötzliche Ausbrüche ausgehender Nachrichten vor, da er Autoren aus dem Pool verwenden kann, die bereits erstellt wurden, anstatt neue zu erstellen. |
writeEncoding |
Gibt die Zeichensatzcodierung an, die für das Senden von Nachrichten in der Bindung verwendet werden soll. Gültige Werte sind: - UnicodeFffeTextEncoding: Unicode Big Endian-Codierung. - Utf16TextEncoding: Unicode-Codierung. - Utf8TextEncoding: 8-Bit-Codierung. Der Standardwert ist Utf8TextEncoding. Dieses Attribut ist vom Typ Encoding. |
Untergeordnete Elemente
| Element | Description |
|---|---|
| <readerQuotas> | Definiert die Einschränkungen für die Komplexität von SOAP-Nachrichten, die von Endpunkten verarbeitet werden können, die mit dieser Bindung konfiguriert sind. Dieses Element ist vom Typ XmlDictionaryReaderQuotasElement. |
Übergeordnete Elemente
| Element | Description |
|---|---|
| <verbindlich> | Definiert alle Bindungsfunktionen der benutzerdefinierten Bindung. |
Bemerkungen
Die Codierung ist der Prozess der Transformation einer Nachricht in eine Folge von Bytes. Die Decodierung ist der umgekehrte Prozess. Für diese Prozesse ist die Spezifikation einer Zeichencodierung erforderlich.
Das webMessageEncoding Element funktioniert, indem er eine Reihe von inneren Encodern delegiert, um die Nur-Text-XML- und JSON-Codierungen und "rohe" Binärdaten zu verarbeiten. Diese Delegierung erfolgt durch einen zusammengesetzten Nachrichten-Encoder.
Dieses Bindungselement und sein zusammengesetzter Encoder werden verwendet, um die Codierung in Szenarien zu steuern, die keine SOAP-Messaging verwenden, die webHttpBinding vom Element verwendet werden. Diese Szenarien umfassen "Plain Old XML" (POX), Representational State Transfer (REST), Really Simple Syndication (RSS) und Atom Syndication sowie asynchrones JavaScript und XML (AJAX). Der zusammengesetzte Nachrichten-Encoder unterstützt keine SOAP- oder WS-Adressierung.
Das Bindungselement kann mithilfe des writeEncoding Attributs mit einer Schreibzeichencodierung konfiguriert werden. Der angegebene Encoding Wert gibt das Verhalten beim Schreiben für die JSON- und Textual-XML-Fälle an. Beim Lesen wird jede gültige Nachrichtencodierung und Textcodierung verstanden.
maxReadPoolSize und maxWritePoolSize kann auch verwendet werden, um die maximale Anzahl von Lesern bzw. Autoren festzulegen, die zugewiesen werden sollen. Standardmäßig werden 64 Leser und 16 Autoren zugewiesen.
Standardmäßige Komplexitätseinschränkungen werden auch mithilfe des <ReaderQuotas-Elements> festgelegt, um vor einer Klasse von DoS-Angriffen (Denial of Service) zu schützen, die versuchen, die Nachrichtenkomplexität zu verwenden, um Endpunktverarbeitungsressourcen zu binden.
Example
<webMessageEncoding maxReadPoolSize="256"
maxWritePoolSize="128"
messageVersion="None"
textEncoding="utf-8" />