UpdatePanel, похоже, борется с огромными данными как AsynPostBack. jSonSerializer maxLength не помогает - PullRequest
0 голосов
/ 11 ноября 2008

У меня есть приложение ASP.NET 3.5, и я пытаюсь обновить панель обновлений, которая имеет вложенный пользовательский элемент управления. В этом пользовательском элементе управления находится ComponentArt Gird, который заполняется почти 13 МБ данных (да, я мог бы разбить это на части ...) в этом обновлении.

У меня есть скрытая кнопка с панелью обновления, которую я запускаю с помощью JS со стороны клиента, когда мне нужны панель обновления и сетка.

Когда я вызываю метод Update во время asyncPostback с Updatepanelxyz.Update (), я позже получаю в процессе asyncPostBackError, говорящую, что JSonSerializer не может обрабатывать этот объем данных. Я должен увеличить указанное значение.

Действительно. Понял. Но когда я изменяю это значение в файле web.config, он работает только до 8 МБ, но не более. Есть ли предел для JSonSerializer в этом случае. Я установил максимальное значение Int32, которое в 1000 раз больше значения по умолчанию, которого уже достаточно для 4 МБ сериализованных данных.

Есть предложения? Есть ли способ заставить сериализатор сделать это? Можно ли использовать другой сериализатор?

Cheers, Стив

Ответы [ 3 ]

1 голос
/ 12 ноября 2008

Чувак, 1 МБ данных - это слишком много - зачем, черт возьми, тебе 13?

Я действительно думаю, что вам нужно провести рефакторинг вашего интерфейса. Мне все равно, как быстро ваша сеть, это просто сумасшедшие вещи!

0 голосов
/ 27 января 2011

Лучше всего изменить свойство ScriptingJsonSerializationSection.MaxJsonLength в разделе web.config.

По умолчанию используется 102400 символов, в отличие от ограничения класса JsonSerializer в 2097152 символа.

См .:

Свойство JSONSerializer класса maxJsonLength

и

Свойство максимальной длины секции конфигурации JsonSerialization

Как я уже упоминал выше, изменение свойства раздела конфигурации, к сожалению, является единственным способом.

0 голосов
/ 13 ноября 2008

Я абсолютно согласен, что для UI и уровня DataAccess требуется рефакторинг, но на короткий срок я просто искал простое и быстрое решение, которое помогло бы моему клиенту до следующего обновления программного обеспечения.

...