WCF MaxItemsInObjectGraph-Einstellung funktioniert nicht
Habe ich immer den folgenden Fehler beim Versuch, Zugang zu meinem WCF-service.
'Maximale Anzahl an Elementen, serialisiert oder deserialisiert ein Objekt-graph wird '65536'. Ändern Sie das Objekt-Diagramm oder eine Erhöhung der MaxItemsInObjectGraph Quote
Etwas Forschung zu tun, es sieht aus wie alles, was ich zu tun ist, aktualisieren Sie diese Einstellung auf einen höheren Wert. Dies ist, was ich versuche zu tun, aber die Einstellung wird nicht zu sein scheinen immer Lesen von der Konfiguration. Ich bekomme immer wieder die gleiche exception mit dem Wert 65536.
Folgte ich den Anweisungen auf dieser Link, aber ich habe kein Glück.
Hier ist, was ich konfiguriert haben, auf den WCF-Dienst ist Web.Config.
<behaviors>
<serviceBehaviors>
<behavior name="metadataBehavior">
<serviceMetadata httpGetEnabled="true" httpGetUrl="" />
<serviceDebug includeExceptionDetailInFaults="false" />
<dataContractSerializer maxItemsInObjectGraph="2147483646"/>
</behavior>
</serviceBehaviors>
</behaviors>
Dies ist, was ist, in der Client-app.config:
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="True" />
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior >
<dataContractSerializer maxItemsInObjectGraph="2147483646"/>
</behavior>
</endpointBehaviors>
</behaviors>
Und zu guter Letzt, habe ich das folgende Attribut auf der WCF-Dienst selbst:
[ServiceBehavior(MaxItemsInObjectGraph = 2147483646, IncludeExceptionDetailInFaults = true)]
Trotz der Konfigurationen vor, ich bekomme immer noch eine Ausnahme, die sich über den Wert 65536. Warum sind nicht alle diese Einstellungen werden von den Anwendungen verwendet werden? Ist es etwas anderes, das muss irgendwo einstellen?
InformationsquelleAutor Dave | 2013-07-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Waren Sie auf dem richtigen Weg!
Alles, was Sie zu tun hatte war, einen Namen hinzuzufügen, um das Verhalten
Und dann auf Endpunkt hinzufügen
InformationsquelleAutor SergioM
Hatte zu gehen nuklearen und update der Maschine.config;
Richtungen Hier
Den Kern von ihm ist, fügen Sie den folgenden, um die "system.serviceModel" Abschnitt.
InformationsquelleAutor Dave
Schrieb ich ein Programm zum ändern der Rechner-configs für diese, weil die Unterstützung. Es funktioniert für mich, aber ich habe nicht getan, Tonnen von Tests.
InformationsquelleAutor quillbreaker
Ich hatte das gleiche problem und haben versucht, mehrere Optionen, aber ich fand die Lösung hier:
https://msdn.microsoft.com/en-us/library/ms732038.aspx
"Steuern der Serialisierung Prozess".
Hinzufügen ...
[ServiceBehavior(MaxItemsInObjectGraph=100000)]
Klasse Mein Service ...
Glück
InformationsquelleAutor aris
Ich hatte das gleiche Problem , Es gab einige Enumerationen, die in der Rückkehr-Klasse. Was fand heraus, dass Sie nicht null sein darf. Prüfen Sie, ob Sie irgendwelche Enums, die zurückgegeben werden sollen.
InformationsquelleAutor user3417986