Im_root 2022-05-31 10:32 采纳率: 100%
浏览 278
已结题

处理大文件时报错:内存溢出System.OutOfMemoryException

img

我要从服务器下载一些文件,只允许通过这样的接口方式进行下载;返回的response是一个json我对齐进行反序列化的时候就报错System out of memory了;我研究了好几天,这并不是电脑内存不够的问题,在网上有很多类似疑问,官网也说了会存在这样的问题,但都没有提供解决方法;请问谁有较好的思路或者经验呢?
                    fullpath = dt.Rows[i]["path"].ToString();
                    string fid = dt.Rows[i]["fid"].ToString();
                    clsDownloadFiles returm = new clsDownloadFiles();
                    var client = new RestClient("download_path");
                    client.Timeout = -1;
                    var request = new RestRequest(Method.POST);
                    request.AlwaysMultipartFormData = true;
                    request.AddParameter("accesskeyid", "accesskeyid");
                    request.AddParameter("accesssecret", "accesssecret");
                    request.AddParameter("dstfile", fullpath);
                    request.AddParameter("machineid", "657");
                    //获取文件
                    IRestResponse response = client.Execute(request);
                    clsDownloadFiles dailyResult = Newtonsoft.Json.JsonConvert.DeserializeObject<clsDownloadFiles>(response.Content); 
                    byte[] memoryToString1 = dailyResult.data.data;
                    string filename = dailyResult.data.name.ToString();
  • 写回答

11条回答 默认 最新

  • Haven55555 2022-06-01 17:05
    关注

    200M的json 确实太大了些,接口不能分页去取吗 ,然后再合并

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(10条)

报告相同问题?

问题事件

  • 系统已结题 6月15日
  • 已采纳回答 6月7日
  • 创建了问题 5月31日