[转]ASP.NET MVC Json()处理大数据异常解决方法 json maxjsonlength
2015-04-01 13:03
766 查看
本文转自: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的节点下添加:
试过后发现曲线还是没出来,最后拿出杀手锏:谷歌翻译成英文,再次搜索,最后终于在stackoverflow上找到解决之法:
具体网址:http://stackoverflow.com/questions/4155014/json-asp-net-mvc-maxjsonlength-exception
这里不得不大赞StackOverflow,好多问题都是在上面找到solution,而且上面还有非常多的好心人士热心细致的回答问题,我提了好几个问题都最终得到所谓Geek的帮助并得以解决。这里,我只想说声:谢谢。
先对项目做个简单介绍:
整个项目采用微软的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的帮助并得以解决。这里,我只想说声:谢谢。
相关文章推荐
- ASP.NET MVC Json()处理大数据异常解决方法,字符串的长度超过了为 maxJsonLength
- ASP.NET MVC Json()处理大数据异常解决方法
- ASP.NET MVC Json()处理大数据异常解决方法
- asp.net MVC接收前端传递的复杂json对象的简单处理方法
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法
- ASP.NET MVC错误处理的对应解决方法
- .NET MVC JSON JavaScriptSerializer 字符串的长度超过 maxJsonLength 值问题的解决
- .NET MVC JSON JavaScriptSerializer 字符串的长度超过 maxJsonLength 值问题的解决
- ASP.NET MVC引用最新Newtonsoft.Json的异常问题解决办法
- asp.net mvc 生成“*/?Length=*”的情况解决方法
- asp.net mvc 上传大文件保存的解决方法
- wp7使用POST请求Asp.net网页时,HttpWebRequest的BeginGetResponse方法抛出NotSupportException异常的解决方法
- ASP.NET调试异常和解决方法(1)——“将截断字符串或二进制数据”
- 集成EntLib实现ASP.NET MVC的异常处理
- 集成EntLib实现ASP.NET MVC的异常处理[续篇]
- ASP.NET MVC下基于异常处理的完整解决方案
- ASP.NET MVC下基于异常处理的完整解决方案
- net.sf.json.JSONException: There is a cycle in the hierarchy异常的解决方法
- Asp.Net : 捕捉和记录网站中出现的所有未处理错误,抛出详细的页面来源和访问ip,调用的接口方法及异常实例(记事本日志,系统日志及数据库日志)