mscorlib.dll中出现“System.OutOfMemoryException”类型的异常,但在创建json文件

时间:2017-10-11 18:27:50

标签: c# asp.net json

以json格式从数据库获取数据时出错,并使用asp.net c#在Web服务器上创建json文件。我必须创建大约400,000条SQL Server记录的json文件。

错误显示在行中:

string jsondata = new JavaScriptSerializer().Serialize(stockdet);

数据库表中有大约400,000条记录

  

mscorlib.dll中发生了'System.OutOfMemoryException'类型的异常,但未在用户代码中处理

1 个答案:

答案 0 :(得分:1)

这意味着你的内存不足以处理这个巨大的对象,因为你试图序列化40万条记录,所以我建议你采用这种方法

  1. 转到nuget包并添加newtonsoft.json

  2. 添加以下参考资料

    using Newtonsoft.Json;
    using System.IO;
    
  3. 放置以下代码

    //replace {path} with your path
    using (StreamWriter sw = new StreamWriter(@"{path}\temp.json"))
            using (JsonWriter writer = new JsonTextWriter(sw))
            {
                new JsonSerializer().Serialize(writer, stockdet);
    
            }
    
  4. 从位于{path}

  5. 的文件中读取序列化对象