内存异常离子拉链提取

时间:2015-02-02 12:07:27

标签: c#-4.0 zip

我下载了一个大型zip文件并尝试将其内容(csv文件)提取到内存流中。

这适用于较小的文件,但对于较大的文件(我的目前是16mb),我得到OutOfMemoryException。 所以在这一点上我有一个由zip文件组成的内存流。

 using (ZipFile zip = ZipFile.Read(memoryStream))
                {
                     zip.ParallelDeflateThreshold = -1;
                     zip[csvKey].Extract(csvFile);
                }

我正在使用Ionic库管理zip。从阅读其他stackover流程帖子,我将ParallelDeflateThreshold添加到-1。但我仍然遇到同样的问题。

我目前使用的是16GB的RAM i7机器,所以内存应该不是问题。在IIS express上运行,但在常规IIS上也是如此。

任何帮助都非常受欢迎,因为我没有想法。

感谢。

1 个答案:

答案 0 :(得分:1)

您需要避免将文件存储在内存中。应用程序对内存使用量有1.2GB的限制。然后64bit应用程序有2GB +我相信。

我不是100%肯定,但这可能会有效:

using ZipFile;
new ZipFile(memoryStream).ExtractToDirectory(csvFile, extractPath);;
相关问题