Problem mit großen Anfragen in WCF

8

Ich habe dieses Problem eine Million Mal gesehen, aber keine der Lösungen hat für mich funktioniert ... Also hier gehe ich:

Beim Aufrufen eines WCF-Dienstes wird der folgende Fehler angezeigt:

  

Der Formatierer hat eine Ausnahme ausgelöst, als er versucht hat, die   Nachricht: Beim Versuch, Parameter zu deserialisieren, ist ein Fehler aufgetreten    Ссылка . Das   InnerException Nachricht war 'Es gab einen Fehler Deserialisierung der   Objekt vom Typ BlanketImport.BlanketImportRequest. Das maximale Array   Längenkontingent (16384) wurde beim Lesen von XML-Daten überschritten. Dies   Kontingent kann erhöht werden, indem Sie die MaxArrayLength-Eigenschaft auf dem ändern   XmlDictionaryReaderQuotas-Objekt, das beim Erstellen des XML-Readers verwendet wird.   Linie 1, Position 44440. '. Weitere Informationen finden Sie unter InnerException.

Ich habe readerQuotas auf dem Client-Server geändert und AND das bindingConfiguration-Tag angewendet.

Hier ist die Serverkonfiguration:

%Vor%

Und die Client-Konfiguration:

%Vor%     
HeineSkov 19.09.2011, 11:55
quelle

3 Antworten

18

Die Lösung gefunden ... Aber immer noch sehr seltsam!

Wenn ich das name-Attribut von meinem Bindungs-Tag und das bindingConfiguration-Attribut von meinem Endpunkt-Tag entferne, funktioniert alles. Dies bedeutet, dass die basicHttpBinding-Konfiguration die Standardkonfiguration für alle basicHttpBinding-Endpunkte ist

    
HeineSkov 20.09.2011, 08:07
quelle
2

Ich hatte das gleiche Problem, als ich versuchte, Dateien mithilfe von WCF mithilfe einer benannten Bindungskonfiguration hochzuladen. Dies hat mit den Änderungen in WCF 4.0 und der "vereinfachten" Konfiguration zu tun (siehe MSDN )

Zu Ihrer Information: Ich habe alles versucht, um dieses Problem zu lösen. Der Parameter für den Dienst war ein Byte-Array, also entfernten wir ihn und verwendeten einen Stream, versuchten den gepufferten versus Streaming-Modus zu ändern und natürlich die 1,5 Millionen Konfigurationsoptionen, um Größen zu ändern, die nie mit einer benannten Konfiguration aufgenommen wurden.

Sehr merkwürdig, aber mit Ihrem Vorschlag arbeiten.

    
Livewire 01.02.2012 03:11
quelle
0

Ich hatte ein ähnliches Problem, bei dem die benannte Bindung nicht vom Endpunkt verwendet wurde. Mein Problem war ein Tippfehler im Servicenamen. Wie Livewire sagte, erstellt WCF 4 Simplified Configuration automatisch einen Endpunkt und mein definierter Endpunkt überschreibt ihn nicht.

    
user3203843 21.02.2014 19:23
quelle

Tags und Links