WCF - Win App "Das maximale Kontingent für Inhaltslänge (8192) wurde beim Lesen von XML-Daten überschritten."

8

Ich habe ein Problem bei der Implementierung von Web Service über WCF. Während ich übergeben Wert in WCF-Methode von Client-Anwendung als Zeichenfolge (XML), erhalten Fehler

  

Der Formatierer hat eine Ausnahme ausgelöst   beim Versuch, das zu deserialisieren   Nachricht: Es gab einen Fehler während   versuchen, den Parameter zu deserialisieren    Ссылка .

Die Nachricht InnerException war

  

'Beim Deserialisieren ist ein Fehler aufgetreten   Objekt vom Typ System.String. Das   maximale Länge des Zeichenfolgeninhalts   (8192) wurde beim Lesen überschritten   XML-Daten Diese Quote kann erhöht werden   durch Ändern der MaxStringContentLength   Eigentum auf dem   XmlDictionaryReaderQuotas-Objekt verwendet   beim Erstellen des XML-Readers. Linie   249, Position 19. ".

Ich habe versucht, den Wert von maxStringContentLength in Client web.configuration Datei zu ändern, aber der Fehler bleibt gleich. Bitte versuchen Sie so schnell wie möglich die Lösung zu finden.

    
Ashish Ranjan 05.02.2011, 09:39
quelle

4 Antworten

12

Ashish, Darin bedeutet, dass Sie eine basicHttpBinding erstellt haben sollten, um den Wert von maxStringContentLength auf 2147483647 zu überschreiben und zu erhöhen. Können Sie bestätigen, dass Sie Ihren Endpunkt so konfiguriert haben, dass er dieselbe Bindung mit dem bindingConfiguration-Attribut verwendet. Zum Beispiel haben Sie eine solche Bindung erstellt,

%Vor%

Sie können den Endpunkt so konfigurieren, dass er die obige Bindungskonfiguration verwendet (beachten Sie das bindingConfiguration -Attribut)

%Vor%

Können Sie bestätigen, ob Sie das schon getan haben? sehr wahrscheinlich scheint das hier nicht der Fall zu sein.

Wenn Sie dies bereits befolgt haben und bestätigen möchten, ob es verwendet wird, erfassen Sie WCF-Traces für Service- und Clientanwendungen auf ausführlicher Ebene und überprüfen Sie die Aktivitäten in Construct Host in sevice und Construct channel at client application.

    
amit 05.02.2011 12:30
quelle
7

Versuchen Sie, diesen Wert auf dem Server und dem Client zu erhöhen:

%Vor%     
Darin Dimitrov 05.02.2011 09:41
quelle
1

Wie immer bei WCF ist hier die programmatische Alternative, um die MaxStringContentLength zu erhöhen.

%Vor%     
Despertar 28.01.2012 20:39
quelle
-1

Die Größe von maxStringContentLength sollte erhöht werden. Aber Sie sollten nicht blind alle Werte auf diese Zahl erhöhen. Zum Beispiel bezieht sich maxDepth auf Verschachtelungsebenen in XML, und es ist besser, sie auf dem Standardwert zu belassen.

    
Rajesh Gurrala 23.02.2011 20:55
quelle

Tags und Links