JavaScriptSerializer. MaxJsonLength превышен. Какова лучшая практика для обработки этого?

У меня есть большой amound данных, которые я отправляю вниз клиенту, использующему $ jQuery .ajax () функция. Я называю метод в веб-сервисе ASP.NET, который возвращает данные JSON. Все является большим для большинства поисков, но когда у меня есть большой набор данных для возврата, я сталкиваюсь с проблемой со свойством JavaScriptSerializer MaxJsonLength. Какова лучшая практика для обработки этого? Я не хочу просто произвольно набор макс. длина. Я могу установить MaxJsonLength в веб-сервисе, если возвращаемые данные больше, чем макс. ток, или я должен переписать и отправить вниз зажимы данных клиенту?

Вот соответствующий отрывок от веб-сервиса:

Dictionary<string, object> jsonValuePairs = new Dictionary<string, object>();
//add some data to the dictionary...
return System.Web.Script.Serialization.JavaScriptSerializer.Serialize(jsonValuePairs);
15
задан Stephen Kennedy 3 October 2019 в 15:00
поделиться

1 ответ

Единственный способ установить максимальную длину для веб-методов, вызываемых из клиентского сценария, - это использовать файл web.config (ниже). В чем проблема с настройкой этого параметра? Я бы делал это каждый раз при многократных вызовах xhr для потоковой передачи данных.

<system.web.extensions>
  <scripting>
      <webServices>
        <jsonSerialization maxJsonLength="500000">
        </jsonSerialization>
      </webServices>
  </scripting>
</system.web.extensions>

ОБНОВЛЕНИЕ: Размер по умолчанию - 2097152, что эквивалентно 4 МБ строковых данных Unicode. Вы действительно собираетесь отправлять столько данных клиенту? Если это так, то, возможно, вам стоит обратить внимание на дизайн приложения, поскольку взаимодействие с пользователем будет медленным и громоздким.

33
ответ дан 1 December 2019 в 00:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: