序列化期间内存不足异常

时间:2016-08-17 10:02:23

标签: c# json serialization

我从数据库中获取300k +记录。我正在尝试序列化下面的重物:

List<user> allUsersList = businessProvider.GetAllUsers();
string json = JsonConvert.SerializeObject(allUsersList);

我在序列化列表时遇到异常 - allUsersList。

内存不足

我正在使用newtonsoft.json程序集对其进行反序列化。

1 个答案:

答案 0 :(得分:2)

根据您的评论

  

我将反序列化以在UI中显示它

如果你喜欢你的用户,你不会让他们在UI中看到300k字符串记录。相反,您应该添加搜索,排序和分页功能,以便您的用户只收到少量相关结果。这将提高可用性,并作为副作用修复服务器端内存问题。

即使您找到了将长字符串序列化为内存的修复程序,现在尝试考虑数据库和Web服务器上的负载。想象一下,如果您的网站突然变得流行,并且许多用户开始按需求点击它。如果单个请求占用了大量内存,您的网站将很快崩溃。