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>