UpdatePanel, похоже, борется с огромными данными, как AsynPostBack.jSonSerializer maxLength не помогает

StackOverflow https://stackoverflow.com/questions/280339

Вопрос

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

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

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

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

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

Приветствия, Стив

Это было полезно?

Решение

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

По умолчанию он равен 102 400 символам, в отличие от ограничения класса JsonSerializer в 2097 152 символа.

Видеть:

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

и

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

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top