2014-05-21 6 views

Antwort

13

Die Maßeinheit ist die Anzahl der Elemente (Schlüssel/Wert-Paare), die deserialisiert werden können. Wenn Ihr JSON 500 Mitglieder (Schlüssel/Wert-Paare) hat und Ihr Limit 400 ist, würde es scheitern.

http://msdn.microsoft.com/en-us/library/hh975440.aspx

müssen Sie vorsichtig sein, diese Grenze zu hoch zu machen. Sie könnten Ihren Server einfach DOS-fähig machen, indem Sie häufige Anfragen mit großen JSON-Payloads senden und Ihren Server zwingen, sie zu verarbeiten. Wenn die Zahl niedrig gehalten wird, beendet der Server die Anfrage, bevor die Verarbeitung beginnt.

+0

Vielen Dank für die Erklärung Josh – kheit

+3

Zählt dies verschachtelte Mitglieder oder Top-Level-Mitglieder? Zum Beispiel sende ich nur zwei Top-Level-Mitglieder (zB {apikey: xxxxx, Benutzer: [{key: 1, value: x}, {key: 2, value: x}]}), aber die "users "Mitglied könnte mehr als hunderttausend Einträge haben. Müsste ich das Limit auf 100.000 erhöhen oder wäre 2 ausreichend? – Triynko

1

Basierend auf dem Quellcode von JsonValueProviderFactory, würde ich sagen, die aspnet:MaxJsonDeserializerMembers bezieht sich auf eine Gesamtzahl von Schlüssel/Wert-Paaren in JSON-Anfrage, unabhängig davon, ob sie geschachtelt sind oder nicht.

Verwandte Themen