2010-06-01 9 views
1

J'ai un WCF service REST qui accepte une chaîne JSONWCF - Augmentation ReaderQuoatas sur le service REST

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

Cela provoque l'erreur suivante - qui est visible en traçant et en utilisant SVC Trace Viewer

Une erreur s'est produite lors de la désérialisation de l'objet de type CarConfiguration. Le quota de longueur de contenu de chaîne maximal (8192) a été dépassé lors de la lecture de données XML. Ce quota peut être augmenté en modifiant la propriété MaxStringContentLength sur l'objet XmlDictionaryReaderQuotas utilisé 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 config sur le serveur et le client

par exemple Error Serializing String in WebService call

http://bloggingabout.net/blogs/ramon/archive/2008/08/20/wcf-and-large-messages.aspx

http://social.msdn.microsoft.com/Forums/en/wcf/thread/f570823a-8581-45ba-8b0b-ab0c7d7fcae1

donc mon fichier de configuration ressemble à ceci

<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 son service REST et je fais juste une requête http en utilisant l'objet WebClient

des idées?

Répondre

0

Cette erreur ne se produirait pas sur le client, puisque les quotas de lecteurs sont uniquement une fonction WCF et que WebClient/HttpWebRequest ne font pas eux-mêmes la désérialisation ou n'appliquent aucun autre type de quota.

Donc, je dirais qu'il est probable que vous mettiez la configuration au mauvais endroit et qu'elle ne soit pas récupérée.

Soit cela ou ... vous n'utilisez pas manuellement l'un des Serializers WCF DataContract côté client, n'est-ce pas?

+0

mettre définitivement les paramètres de la liaison correcte comme l'ont fait une faute de frappe délibérée dans le point final et vu ça échoue. Sorte d'accord avec vous concernant ce n'est pas nécessaire sur le client, mais tant d'articles disent qu'il doit être dans les deux. Évidemment, il n'y a pas de tels paramètres sur un client de repos – ChrisCa

+0

Beats moi alors. Quelle est la bonne adresse pour le noeud final que vous configurez? – tomasr

Questions connexes