2014-05-21 13 views

risposta

13

L'unità di misura è il numero di articoli (coppie chiave/valore) che possono essere deserializzati. Se il tuo JSON ha 500 membri (coppie chiave/valore) e il tuo limite è 400 allora fallirebbe.

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

è necessario fare attenzione rendendo questo limite troppo alto. Potresti facilmente DOSare il tuo server inviando richieste frequenti con grandi payload JSON e costringendo il tuo server a elaborarli. Mantenendo basso il numero, il server interromperà la richiesta prima che inizi l'elaborazione.

+0

Grazie per la spiegazione Josh – kheit

+3

Il conteggio annulla membri o membri di livello superiore? Ad esempio, sto inviando solo 2 membri di primo livello (es. {Apikey: xxxxx, utenti: [{chiave: 1, valore: x}, {chiave: 2, valore: x}]}), ma gli "utenti "Il membro potrebbe avere oltre centomila voci. Dovrei aumentare il limite a 100.000 o 2 sarebbe sufficiente? – Triynko

1

In base al codice sorgente JsonValueProviderFactory, direi che lo aspnet:MaxJsonDeserializerMembers fa riferimento a un numero totale di coppie chiave/valore nella richiesta JSON, indipendentemente dal fatto che siano nidificate o meno.

Problemi correlati