2013-05-11 2 views
1

J'ai lu sur msdn que l'attribut maxStringContentLength des readerQuotas pour un moyen de client WCF:A quoi fait exactement référence lecteurQuotas -> maxStringContentLength?

Un entier positif qui spécifie les caractères maximum autorisés dans le contenu des éléments XML. La valeur par défaut est 8192.

Je suis probablement un peu épais ici, mais à quoi font-ils exactement référence quand on dit contenu d'élément XML? Est-ce le contenu d'un élément XML? Et inclurait-il des éléments enfants imbriqués? Ou est-ce la limite de chaque élément uniquement sans éléments imbriqués?

E.g. dans la structure suivante:

<a> 
<b>baap</b> 
<c>beep</c> 
</a> 

Est-ce une cause taguer un débordement du maxStringContentLength si PABA et émet un signal sonore ensemble dépassé la limite? Ou serait seulement b ou c cause un si leurs contenus respectifs dépassaient la limite? Ou est-ce que je manque complètement quelque chose?

Merci à tous!

Répondre

1

From the MSDN:

MaxStringContentLength Ce quota limite la taille maximale de la chaîne que les renvoie des lecteurs XML. Ce quota ne limite pas la consommation de mémoire dans le lecteur XML lui-même, mais dans le composant qui utilise le lecteur . Par exemple, lorsque DataContractSerializer utilise un lecteur sécurisé avec MaxStringContentLength, il ne désérialise pas les chaînes supérieures à ce quota. Lorsque vous utilisez directement la classe XmlDictionaryReader , toutes les méthodes ne respectent pas ce quota, mais uniquement les méthodes spécialement conçues pour lire les chaînes, telles que la méthode ReadContentAsString . La propriété Value sur le lecteur n'est pas affectée par ce quota et ne doit donc pas être utilisée lorsque la protection fournie par ce quota est nécessaire.

Il limite la taille maximale d'une chaîne renvoyée, soit une chaîne XML, soit une méthode qui renvoie une chaîne.

Questions connexes