离子拉链抛出内存异常(Ionic zip throws out of memory exceptio

2019-09-18 00:25发布

我用离子拉链(版本1.9.1.8)压缩某些files..I通常有大文件的总和为2至3 GB ......这种离子拉链作品在我的系统中运行良好,但同时,我用它在其他用户机器(ONSITE )...这种离子拉链抛出异常同时用作系统的follows.The配置相同。

Exception details:
******************
[6/11/2012 01:21:38:812]
 System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
   at Ionic.Zip.ZipEntry._WriteEntryData(Stream s)
   at Ionic.Zip.ZipEntry.Write(Stream s)
   at Ionic.Zip.ZipFile.Save()
   at Ionic.Zip.ZipFile.Save(String fileName)
   at MyCode.SaveZipFile()

[6/11/2012 01:21:38:828]

System.NullReferenceException: Object reference not set to an instance of an object.
   at Ionic.Zlib.ParallelDeflateOutputStream._Flush(Boolean lastInput)
   at Ionic.Zlib.ParallelDeflateOutputStream.Close()
   at Ionic.Zlib.ParallelDeflateOutputStream.Dispose()
   at Ionic.Zip.ZipFile.Dispose(Boolean disposeManagedResources)
   at Ionic.Zip.ZipFile.Dispose()
   at Mycode.SaveZipFile()
   at Mycode.SaveLogs()

可能有人帮助我找到这些问题的原因??

提前致谢

Answer 1:

您需要显示的代码。 如果您的应用荏苒到MemoryStream,这将是容易受到内存不足的条件。 这将是您的应用程序有问题,而不是在库中。

而且 - 我从它使用并行deflater堆栈跟踪看到。 该交易的运行时内存。 如果你有内存问题,您可以禁用并行压缩,并使用更少的内存。

在你的代码是这样做的:

 zip.ParallelDeflateThreshold = -1;

还看到此功能的文档: http://cheeso.members.winisp.net/DotNetZipHelp/html/0988edb5-1d59-2875-8e77-ad195601cbce.htm



文章来源: Ionic zip throws out of memory exception