MaxJsonLength ошибка в NewtonSoft JsonConvert.SerializeObject - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть проект 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 Ответ

0 голосов
/ 06 декабря 2018

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

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