首页 > 解决方案 > 将 zip 文件转换为内存流会引发 Out of Memory 异常

问题描述

我正在创建一个 Azure 函数,它将解压缩一个充满 .csv 文件的 zip 文件、解析内容并将数据保存到数据库中。我被困在第一步:解压缩一个 zip 文件。

在阅读了许多其他线程(包括Azure downloadtostreamasync method hangs)之后,这就是我所拥有的:

 public async static Task<MemoryStream> GetMemoryStreamAsync(CloudFile inBoundfile)
 {
    MemoryStream memstream = new MemoryStream();
    await inBoundfile.DownloadToStreamAsync(memstream).ConfigureAwait(false);
    return memstream;
 }

我正在测试的 zip 文件是 515,069KB。调用该方法时,它似乎只是挂起,但最终会引发 Out of Memory 异常。.ConfigureAwait(false)我也尝试过非异步(抛出相同的错误)并且我尝试过不带directory corrupt. )。

哦,我还发现了一个线程说将 Azure 应用程序设置为 64 位,我做到了。

必须有一个解决方案,但我没有找到它!

标签: c#.netazureasynchronous

解决方案


推荐阅读