我有一个ASP.NET项目,其中一些AJAX调用了web方法,该方法将返回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
答案 0 :(得分:0)
我遇到了类似的问题,花了一段时间找出问题并解决。 请在
之后添加以下代码<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="50000000" />
</webServices>
</scripting>
</system.web.extensions>