InvalidOperationException, несмотря на то, что MaxJsonLength = Int32.MaxValue

Я не думаю, что я превышаю MaxJsonLength, но я все еще получаю «Ошибка во время сериализации или десериализации с использованием JSON JavaScriptSerializer. Длина строки превышает значение, установленное в свойстве maxJsonLength».

Я проверил, насколько длинный результат, и это 25 000 строк. Я проверил среднюю длину каждой строки, выведя меньший результат, и средняя длина строки составляет 48,5 символов.

25 000 * 48,5 символов = 1 224 140 символов.

MS говорит, что maxJsonLength указан в символах. Int32.MaxValue превышает 2 миллиарда. Что дает?

Примечание. Я не использую MVC, и это WebMethod, написанный на VB 2010 и взаимодействующий с jQuery. Результаты организованы с использованием массива словарей. Я получаю результаты для небольших наборов просто отлично. Я подтвердил, что для maxJsonLength моего сериализатора установлено значение max.

Спасибо заранее!


person Community    schedule 05.10.2012    source источник


Ответы (1)


В ASP.NET максимальное значение по умолчанию для десериализации составляет 1000 членов JSON. Он был представлен в декабре прошлого года. Посмотрите, не является ли это проблемой с вашим приложением. Вот статья для этого.

person Konstantin Dinev    schedule 05.10.2012