当我在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>
请建议我任何解决方案。
答案 0 :(得分:2)
自己实例化类时,需要将值添加到类的MaxJsonLength
属性中:
var jss = new JavaScriptSerializer();
jss.MaxJsonLength = 500000000;
listData = jss.Serialize(detailqueryentityCollection);