Question

J'ai un service WCF REST qui accepte une chaîne JSON

L'un des paramètres est une grande chaîne de nombres

Cela provoque l'erreur suivante - qui est visible par le traçage et l'utilisation SVC Viewer Trace

Il y avait une erreur désérialisation l'objet de type CarConfiguration. Le quota de longueur de contenu de chaîne maximale (8192) a été dépassée lors de la lecture des données XML. Ce quota peut être augmentée en modifiant la propriété MaxStringContentLength sur les XmlDictionaryReaderQuotas objets utilisés lors de la création du lecteur XML.

Maintenant, j'ai lu toutes sortes d'articles indiquant comment remédier à cette

Tous recommandent d'augmenter les différents paramètres de configuration sur le serveur et le client

par exemple. Erreur Sérialisation chaîne dans l'appel WebService

http: // bloggingabout .net / blogs / ramon / archive / 2008/08/20 / WCF et grande messages.aspx

http: // sociale .msdn.microsoft.com / Forums / fr / WCF / fil / f570823a-8581-45ba-8b0b-ab0c7d7fcae1

Alors mon fichier config se présente comme suit

 <webHttpBinding>
        <binding name="webBinding" maxBufferSize="5242880"  maxReceivedMessageSize="5242880" >
          <readerQuotas  maxDepth="5242880" maxStringContentLength="5242880" maxArrayLength="5242880" maxBytesPerRead="5242880" maxNameTableCharCount="5242880"/>
        </binding>
   </webHttpBinding>
...
...
...
<endpoint 
      address="/"
      binding="webHttpBinding"
      bindingConfiguration="webBinding"

Mon problème est que je peux changer cela sur le serveur, mais il n'y a pas de paramètres de configuration de WCF sur le client comme un service REST et je fais juste une demande HTTP à l'aide l'objet WebClient

idées?

Était-ce utile?

La solution

so it turns out you need a fullly qualified url on the endpoint address, not a relative one

Error calling a WCF REST service using JSON. length quota (8192) exceeded

Autres conseils

That error wouldn't be happening on the client, since reader quotas are a WCF-only thing and WebClient/HttpWebRequest don't do deserialization themselves or enforce any other kind of quotas.

So I'd say say that it's likely you're putting the configuration in the wrong place and it's not getting picked up.

Either that or... you're not using one of the WCF DataContract Serializers manually on the client side, are you?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top