使用Newtonsoft JsonConvert 遇到的内存溢出问题排查

由于该篇随笔讲述的问题内容比较少,所以我就不在开篇废话了。

 

近期公司的一个web项目,出现几次IIS进行内存溢出的问题,把服务器16G的内存都能吃完。前几次都没能最终定位到问题发生的位置。

昨天该问题又出现,终于灵光一现。以前遇到过Newtonsoft JsonConvert转换json数据成datatable的时候出现过内存溢出的情况。

经过仔细跟踪调试,发现如果在调用Newtonsoft JsonConvert.DeserializeObject的时候传入的json字符串不是预期的json格式, 该方法内部应该是未做好验证机制,代码中存在问题,导致内存溢出。VS中也报出了相应的错误。

解决办法:在调用Newtonsoft JsonConvert.DeserializeObject之前 对json字符串添加几层判断机制。

 

文章来自:http://www.cnblogs.com/Coder-War/p/5241042.html
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3