我正在使用最新版本的 ionic zip 版本 1.9.1.8。我已经设置了 ionic zip 的属性ParallelDeflateThreshold = 0
。过去两个月,压缩机制工作得很好。突然,它停止工作了。压缩线程挂起,ionic zip 刚刚创建了 tmp 文件,但无法创建 zip 文件。即使文件很小,我也可以轻松地重现这个问题。
对于这个问题我的分析如下
问题出在最新版本的 ionic zip 上,在本例中,ionic zip 在创建 zip 文件时挂起。我们注意到,其他几个使用此 dll 的用户也在他们的网站上报告了此类错误。请参考the link http://dotnetzip.codeplex.com/releases/view/68268.这个问题可以通过禁用来解决ParallelThreshold
ionic zip 的属性,但它会延迟大型日志文件的性能,因为它在单线程而不是多线程模式下工作。
现在通过设置解决了这个问题ParallelDeflateThreshold
属性设置为默认值。但是我找不到这个问题的确切原因。为什么压缩会突然失败?没有更换机器。
我遇到了类似的问题,对于小于 20-25MB 的较小 zip 文件,需要 3-4 秒,但任何大于此的文件,都需要无限的时间。代码从未完成执行。
我开始担心也许使用 DotNetZip 库是一个错误的决定,因为我们使用的 zip 文件最大为 500MB。
在保存 zip 文件的行之前,我添加了:zip.ParallelDeflateThreshold = -1;
这可以确保永远不会创建单独的线程。看起来,一旦 zip 文件超过某个阈值,DotNetZip 就会不断创建大量线程,导致获取最终 zip 文件的延迟非常大。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)