Domanda

Ho un servizio WCF REST che accetta una stringa JSON

Uno dei parametri è una grande stringa di numeri

In questo modo il seguente errore - che è visibile tracciando e l'utilizzo di SVC Trace Viewer

C'è stato un errore deserializzazione l'oggetto di tipo CarConfiguration. La quota di lunghezza tenore massimo stringa (8192) è stato superato durante la lettura dei dati XML. Questo contingente può essere aumentato modificando la proprietà MaxStringContentLength sulle XmlDictionaryReaderQuotas utilizzato durante la creazione del lettore XML.

Ora ho letto tutti i tipi di articoli che consigliano come rettificare questo

Tutti loro consiglia di aumentare le varie impostazioni di configurazione sul server e il client

es. Serializzare stringa in WebService chiamata

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

http: // sociale .msdn.microsoft.com / Forum / it / WCF / thread / f570823a-8581-45ba-8b0b-ab0c7d7fcae1

Così i miei config aspetto di file come questo

 <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"

Il mio problema è che posso cambiare questo sul server, ma non ci sono impostazioni di configurazione WCF sul client perché è un servizio REST e sto solo facendo una richiesta HTTP utilizzando l'oggetto WebClient

tutte le idee?

È stato utile?

Soluzione

così si scopre avete bisogno di un URL fullly qualificata su l'indirizzo dell'endpoint, non un parente uno

chiamare un WCF REST servizio utilizzando JSON. quota di lunghezza (8192) ha superato

Altri suggerimenti

Questo errore non sarebbe accadendo sul client, in quanto le quote dei lettori sono una cosa WCF-only e WebClient / HttpWebRequest non fanno deserializzazione se stessi o far rispettare qualsiasi altro tipo di quote.

Quindi direi dire che è probabile si sta mettendo la configurazione nel posto sbagliato e non è stato scelto su.

Uno che o ... non si sta usando uno dei WCF DataContract Serializzatori manualmente sul lato client, vero?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top