ASP.NET MVC 返回JsonResult序列化内容超出最大限制报错的解决办法
2016-03-29 16:37
615 查看
在使用MVC的时候我们经常会在Controller的Action方法中返回JsonResult对象,但是有时候你如果序列化的对象太大会导致JsonResult从Controller的Action返回后抛出异常,显示Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property.
比如
解决的办法就是在返回JsonResult之前设置其MaxJsonLength属性为Int32的最大值即可,当然如果这样都还是太大了,你只有想办法拆分你要返回的对象分多次返回给前端了。。。
比如
ublic ActionResult SomeControllerAction() { var veryLargeCollection=GetCollection();//由于GetCollection方法返回了一个庞大的C#对象集合veryLargeCollection,导致下面在veryLargeCollection被封装到JsonResult对象,然后被Action方法返回后,MVC做Json序列化时报错 return Json(veryLargeCollection, JsonRequestBehavior.AllowGet); }
解决的办法就是在返回JsonResult之前设置其MaxJsonLength属性为Int32的最大值即可,当然如果这样都还是太大了,你只有想办法拆分你要返回的对象分多次返回给前端了。。。
public ActionResult SomeControllerAction() { var veryLargeCollection=GetCollection(); var jsonResult = Json(veryLargeCollection, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return jsonResult; }
相关文章推荐
- ASP.NET使用Quartz.NET实现定时任务调度
- ASP.NET网站性能提升的几个方法
- 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root
- 使用Aspose.Cells生成Excel的线型图表
- [ASP.NET MVC] 利用动态注入HTML的方式来设计复杂页面
- ASP调用WebService转化成JSON数据,附json.min.asp
- ASP.NET MVC4 HtmlHelper扩展类,实现分页功能
- ASP.NET MVC中的统一化自定义异常处理
- Asp.Net Web API 2 官网菜鸟学习系列导航[持续更新中]
- Asp.Net Web API 2第十八课——Working with Entity Relations in OData
- 让Visual Studio 2015 支持ASP.NET MVC4.0.0.1
- Asp.Net Web API 2第十六课——Parameter Binding in ASP.NET Web API(参数绑定)
- Asp.Net Web API 2第十五课——Model Validation(模型验证)
- Asp.Net Web API 2第十四课——Content Negotiation(内容协商)
- Asp.Net Web API 2第十三课——ASP.NET Web API中的JSON和XML序列化
- Asp.Net Web API 2第十二课——Media Formatters媒体格式化器
- Asp.Net Web API 2第十一课——在Web API中使用Dependency Resolver
- Asp.Net Web API 2第十课——使用OWIN自承载Web API
- Asp.Net Web API 2第九课——自承载Web API
- Asp.Net Web API 2第八课——Web API 2中的属性路由