Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Permet de lire et d’écrire du contenu binaire xml en texte brut, javaScript Object Notation (JSON) et du contenu binaire « brut » lorsqu’il est utilisé dans une liaison Windows Communication Foundation (WCF).
<configuration>
<system.serviceModel>
<bindings>
<customBinding>
<binding>
<webMessageEncoding>
Syntaxe
<webMessageEncoding maxReadPoolSize="Integer"
maxWritePoolSize="Integer"
writeEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding" />
Attributs et éléments
Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.
Attributes
| Caractéristique | Descriptif |
|---|---|
maxReadPoolSize |
Quantité de messages qui peuvent être lus simultanément sans allouer de nouveaux lecteurs. Les tailles de pool plus grandes rendent le système plus tolérant aux pics d’activité au coût d’un ensemble de travail plus grand. La valeur par défaut est de 64 lecteurs pour chacun des encodeurs internes (texte, JSON et « brut »). L’augmentation de ce nombre augmente la consommation de mémoire, mais prépare l’encodeur à traiter les rafales soudaines de messages entrants, car il est en mesure d’utiliser des lecteurs du pool qui sont déjà créés au lieu de créer de nouveaux messages. |
maxWritePoolSize |
Quantité de messages qui peuvent être envoyés simultanément sans allouer de nouveaux enregistreurs. Les tailles de pool plus grandes rendent le système plus tolérant aux pics d’activité au coût d’un ensemble de travail plus grand. La valeur par défaut est de 16 enregistreurs pour chacun des encodeurs internes (texte, JSON et « brut »). L’augmentation de ce nombre augmente la consommation de mémoire, mais prépare l’encodeur à traiter les rafales soudaines de messages sortants, car il est en mesure d’utiliser des enregistreurs à partir du pool qui sont déjà créés au lieu de créer de nouveaux messages. |
writeEncoding |
Spécifie l’encodage du jeu de caractères à utiliser pour émettre des messages sur la liaison. Les valeurs valides sont les suivantes : - UnicodeFffeTextEncoding : encodage Big Endian Unicode. - Utf16TextEncoding : encodage Unicode. - Utf8TextEncoding : encodage 8 bits. La valeur par défaut est Utf8TextEncoding. Cet attribut est de type Encoding. |
Éléments enfants
| Élément | Descriptif |
|---|---|
| <readerQuotas> | Définit les contraintes relatives à la complexité des messages SOAP qui peuvent être traités par les points de terminaison configurés avec cette liaison. Cet élément est de type XmlDictionaryReaderQuotasElement. |
Éléments parents
| Élément | Descriptif |
|---|---|
| <reliure> | Définit toutes les fonctionnalités de liaison de la liaison personnalisée. |
Remarques
L’encodage est le processus de transformation d’un message en une séquence d’octets. Le décodage est le processus inverse. Ces processus nécessitent la spécification d’un encodage de caractères.
L’élément webMessageEncoding fonctionne en déléguant à une série d’encodeurs internes pour gérer les encodages XML et JSON en texte brut et les données binaires « brutes ». Cette délégation est effectuée par un encodeur de message composite.
Cet élément de liaison et son encodeur composite sont utilisés pour contrôler l’encodage dans les scénarios qui n’utilisent pas la messagerie SOAP utilisée par l’élément webHttpBinding . Ces scénarios incluent « Plain Old XML » (POX), Representational State Transfer (REST), Really Simple Syndication (RSS) et Atom syndication, et JavaScript asynchrone et XML (AJAX). L’encodeur de message composite ne prend pas en charge l’adressage SOAP ou WS.
L’élément de liaison peut être configuré avec un encodage de caractères d’écriture à l’aide de l’attribut writeEncoding . La valeur fournie Encoding spécifie le comportement en écriture pour les cas JSON et XML textuels. En lecture, tout encodage de message valide et encodage de texte est compris.
maxReadPoolSize et maxWritePoolSize peut également être utilisé pour définir le nombre maximal de lecteurs et d’écrivains à allouer respectivement. Par défaut, 64 lecteurs et 16 enregistreurs sont alloués.
Les contraintes de complexité par défaut sont également définies à l’aide de l’élément <readerQuotas> pour se protéger contre une classe d’attaques par déni de service (DOS) qui tentent d’utiliser la complexité des messages pour lier les ressources de traitement des points de terminaison.
Example
<webMessageEncoding maxReadPoolSize="256"
maxWritePoolSize="128"
messageVersion="None"
textEncoding="utf-8" />