Newton JsonConvert.SerializeObject

时间:2018-12-06 18:01:17

标签: c# asp.net webmethod jsonconvert

我有一个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

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,花了一段时间找出问题并解决。 请在

之后添加以下代码
<system.web.extensions>
  <scripting>
    <webServices>
      <jsonSerialization maxJsonLength="50000000" />
    </webServices>
  </scripting>
</system.web.extensions>