У меня есть большой 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);
Единственный способ установить максимальную длину для веб-методов, вызываемых из клиентского сценария, - это использовать файл web.config (ниже). В чем проблема с настройкой этого параметра? Я бы делал это каждый раз при многократных вызовах xhr для потоковой передачи данных.
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="500000">
</jsonSerialization>
</webServices>
</scripting>
</system.web.extensions>
ОБНОВЛЕНИЕ: Размер по умолчанию - 2097152, что эквивалентно 4 МБ строковых данных Unicode. Вы действительно собираетесь отправлять столько данных клиенту? Если это так, то, возможно, вам стоит обратить внимание на дизайн приложения, поскольку взаимодействие с пользователем будет медленным и громоздким.