MaxJsonLength ошибка в NewtonSoft JsonConvert.SerializeObject

У меня есть проект ASP.NET, с некоторым AJAX, вызывающим веб-метод, который вернул бы JSON.

Если DataSet имеет около 100 строк, нет проблем. Но с 1000 строк, это запускает ошибку:

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

    [WebMethod(EnableSession = true)]
    public static string PublicWebMethod()
    {
            DataSet ds = new DataSet(); // in the reality do a mountrous query

            if (ds.Tables[0].Rows.Count > 0)
            {
                return JsonConvert.SerializeObject(clsUtil.ToArray(ds.Tables[0]));
            }
            else
            {
                return "false";
            }
        }
    }

Как я могу решить эту проблему, установив конфигурацию в методе?

Я не хочу менятьweb.config

1 ответ

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

<system.web.extensions>
  <scripting>
    <webServices>
      <jsonSerialization maxJsonLength="50000000" />
    </webServices>
  </scripting>
</system.web.extensions>
Другие вопросы по тегам