WCF XmlDictionaryReaderQuotas ist nicht vorhanden

8

Ich möchte maxArrayLength in basichtttpbiding setzen. Dies ist jedoch nur möglich, wenn mit der Konfigurationsdatei ein XmlDictionaryReaderQuotas erstellt wird, das nicht in System.xml vorhanden ist, und in BasicHttpBinding1.ReaderQuotas eingefügt wird.

Was kann ich tun, um maxArrayLength ohne Verwendung der Konfigurationsdatei zu setzen?

BEARBEITEN:

Das kann ich nicht tun: basichtttpbiding1.ReaderQuotas.MaxArrayLength = 1000000; weil ich keine Optionen habe, danach zu wählen: basichtttpbiding1.ReaderQuotas. [Optionen zu wählen]

    
Stav Alfi 26.05.2012, 13:11
quelle

2 Antworten

20

Gelöst.

Sie müssen den Verweis manuell hinzufügen: System.Runtime.Serialization und dann wird die Klasse XmlDictionaryReaderQuotas in System.Xml

angezeigt     
Stav Alfi 26.05.2012, 15:24
quelle
3

Sie müssen keine Instanz von XmlDictionaryReaderQuotas erstellen. Die Bindung hat bereits eine solche Instanz, Sie können sie also direkt verwenden:

%Vor%

Wenn Sie jedoch in einer Plattform wie Silverlight sind (und wenn das der Fall ist, fügen Sie bitte das entsprechende Tag in Ihrer Frage hinzu), wird diese Eigenschaft nicht angezeigt. Das liegt daran, dass dieses Kontingent in dieser Plattform nicht durchgesetzt wird - es ist im Wesentlichen das gleiche Verhalten wie wenn das Kontingent existiert, aber es wurde auf den maximalen Wert gesetzt (int.MaxValue). Sie müssen es also nicht erhöhen (es ist bereits ausgeschöpft), und Sie können es nicht verringern.

    
carlosfigueira 26.05.2012 13:56
quelle

Tags und Links