本文转自:http://blog.csdn.net/blacksource/article/details/18797055

 

事先对品种做个大概介绍:

全方位项目应用微软的ASP.NET
MVC3进展支付,前端显示采用EasyUI框架,图表的示用之凡Highcharts,主要开展曲线图的绘图,这样于像地写出转变的趋势。由于数据量比较深(大于1000,000久记下),而highcharts接受的数据类型为json格式,所以controller从数据库中得有之数量要先格式化成json,然后重新传播前端。平时径直采取MVC的Json()将数据序列化成json格式,但是由此次数据量较生,所以曲线不显,所以直接看是由于数据量较生,highcharts插件不支持100w级数据,后来任人说highcharts本身是永葆100w级数据的。最后以firebug调试才发觉并发了错:“使用JSON
JavaScriptSerializer进行序列化或反序列化时错。字符串的长短逾了啊maxJsonLength属性设置的价”,网上为搜了众多缓解方案,几乎无一例外说的凡当web.config的节点下上加:

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

试过后发觉曲线还是没有出去,最后用出杀手锏:谷歌翻译成英文,再次找,最后竟在stackoverflow上找到解决的学:

public ActionResult GetLargeJsonResult()
{
  return new ContentResult
    {
        Content = new JavaScriptSerializer { MaxJsonLength = Int32.MaxValue }.Serialize(myBigdata),
        ContentType = "application/json"
    };
}

实际网址:http://stackoverflow.com/questions/4155014/json-asp-net-mvc-maxjsonlength-exception

此处只能大赞StackOverflow,好多题目且是于点找到solution,而且上面还有很多的好心人士热心细致的回答问题,我取了一些单问题还最终取得所谓Geek的增援并得以化解。这里,我光想说声:谢谢。

相关文章

网站地图xml地图