在c#

时间:2016-09-21 06:46:03

标签: c# json serialization dynamics-crm dynamics-crm-online

当我在wcf服务中使用JavaScriptSerializer进行序列化时,它为定义的代码提供了以下错误。

代码:

DataCollection<Entity> detailqueryentityCollection = _serviceProxy.RetrieveMultiple(detailquery).Entities;
if (detailqueryentityCollection.Count > 0)
{
    listdata = new JavaScriptSerializer().Serialize(detailqueryentityCollection);
}                                    

错误:

  

使用JSON进行序列化或反序列化时出错   JavaScriptSerializer。字符串的长度超过了设置的值   在maxJsonLength属性上。

我还在web.config中添加了以下代码,但它不起作用。

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

请建议我任何解决方案。

1 个答案:

答案 0 :(得分:2)

自己实例化类时,需要将值添加到类的MaxJsonLength属性中:

var jss = new JavaScriptSerializer();
jss.MaxJsonLength = 500000000;
listData = jss.Serialize(detailqueryentityCollection);