Как увеличить ограничение размера json для почтового вызова ASP.NET WebAPI? - программирование
Подтвердить что ты не робот

Как увеличить ограничение размера json для почтового вызова ASP.NET WebAPI?

Моя форма на странице слишком большая. Он собирает ежемесячные данные измерений. Пожалуйста, взгляните на образец:

{
"Year":2013,
"Month":3,
"Records":[
    {"Id":0,"Date":"3/1/2013","RiverSection":5,"UserNumber":56},
    {"Id":0,"Date":"3/1/2013","RiverSection":7,"UserNumber":200},
    {"Id":0,"Date":"3/1/2013","RiverSection":8,"UserNumber":556},
    {"Id":0,"Date":"3/2/2013","RiverSection":5,"UserNumber":56},
    {"Id":0,"Date":"3/2/2013","RiverSection":7,"UserNumber":200},
    ...
    ...
    {"Id":0,"Date":"3/31/2013","RiverSection":7,"UserNumber":200}
}

Итак, я отправляю большие данные в APIController.

Я отлично работаю на своей локальной машине, используя сервер отладчика Visual Studio. Но после того, как я загрузил код на сервер (IIS 6). Он дает 500 Internal Server Error.

Я попытался опубликовать некоторые данные образца и проверил длину сжатого json.

В одном наборе данных образца длина моего json равна 5743, и я получил "успех". Но если размер json увеличивается до 17345, я получил 500 Internal Server Error.

Итак, я попытался увеличить лимит json. Основание на этом сообщении

В Web.Config:

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

Но он не работает.

Существует еще один ответ, используя:

var serializer = new JavaScriptSerializer();
serializer.MaxJsonLength = Int32.MaxValue;

Но где мы должны поместить этот код? в Global.asax?

Обратите внимание, что я использую IIS 6. Так это проблема? Как я могу правильно увеличить предел размера json, чтобы мои данные могли попасть в действие WebApi?

Спасибо за любую помощь.

4b9b3361