maxJsonLength при использовании службы WCF с использованием Jquery - PullRequest
0 голосов
/ 18 июня 2011

Я работаю над Google Map Marker V3.User может добавить Map Marker и дополнительную информацию, и эта информация хранится в базе данных SQL Server. Когда страница карты загружается в первый раз, я извлекаю все маркеры, хранящиеся в БД, и отображаю их на карте. для вызова Ajax я использую WCF и Jquery. Все работало нормально, но однажды я получил ошибку

"Ошибка при сериализации или десериализации с использованием JSON JavaScriptSerializer. Длина строки превышает значение, установленное в свойстве maxJsonLength".

Для этого я увеличиваю размер maxJsonLength следующим образом:

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

Итак, теперь мое приложение снова работает нормально. Мой вопрос заключается в том, есть ли другой способ, чтобы я мог увеличить этот maxJsonLength во время выполнения, потому что мне нужно доставить этот проект моему клиенту, и если в будущем возникнет та же проблема, эта функция перестанет работать. Я также нашел другой пример на stackoverflow Могу ли я установить неограниченную длину для maxJsonLength в web.config?

maxjsonlength-свойство

Спасибо

1 Ответ

0 голосов
/ 18 июня 2011

Вы можете установить его на максимальное значение 2147483644.

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

Существуют проблемы с установкой очень высокого предела:

  • Вы более уязвимы для атаки отказа в обслуживании
  • Ваше приложение может замедляться ивы не получаете никакой информации, почему (увеличивая размер полезной нагрузки)

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

...