我从数据库中获取300k +记录。我正在尝试序列化下面的重物:
List<user> allUsersList = businessProvider.GetAllUsers();
string json = JsonConvert.SerializeObject(allUsersList);
我在序列化列表时遇到异常 - allUsersList。
内存不足
我正在使用newtonsoft.json程序集对其进行反序列化。
答案 0 :(得分:2)
根据您的评论
我将反序列化以在UI中显示它
如果你喜欢你的用户,你不会让他们在UI中看到300k字符串记录。相反,您应该添加搜索,排序和分页功能,以便您的用户只收到少量相关结果。这将提高可用性,并作为副作用修复服务器端内存问题。
即使您找到了将长字符串序列化为内存的修复程序,现在尝试考虑数据库和Web服务器上的负载。想象一下,如果您的网站突然变得流行,并且许多用户开始按需求点击它。如果单个请求占用了大量内存,您的网站将很快崩溃。