2012-08-16 2 views
7

Я использую самую последнюю версию ионной почтовой версии 1.9.1.8. Я установил свойство ионного zip ParallelDeflateThreshold = 0. Механизм застежки работал отлично в течение последних двух месяцев. Неожиданно это перестало работать. Застежка-молния просто зависает, ионный почтовый индекс только что создал файл tmp и не смог создать zip-файл. Я мог бы легко воспроизвести эту проблему даже при небольшом размере файла.Сжатие не работает при использовании ионного zip

Мой анализ этой проблемы заключается в следующем

Проблема была с последней версией ионной молнии, в этом случае ионный почтовый повешен во время создания архивных файлов. Мы заметили, что несколько других пользователей, которые используют эту DLL, также сообщили об ошибках на своем сайте. Пожалуйста, обратитесь к the link. Эта проблема будет решена путем отключения свойства ionic zip ParallelThreshold, но это задержит работу для больших файлов журнала, поскольку работает только в одном потоке, а не в многопоточном режиме.

Вопрос был решен теперь, установив для свойства ParallelDeflateThreshold значение по умолчанию. Но я не смог найти точную причину этой проблемы. Почему внезапно происходит сбой? Машинных изменений не было.

+0

Возможно, кто-то из http://dotnetzip.codeplex.com/ может помочь. – Surfbutler

ответ

15

Я столкнулся с аналогичной проблемой, с меньшими zip-файлами менее 20-25 МБ, это занимало 3-4 секунды, но что-то большее, чем это, оно занимало бесконечное время. Код никогда не завершался.

Я начал беспокоиться о том, что, возможно, это было неправильное решение использовать библиотеку DotNetZip, поскольку мы работаем с zip-файлами до 500 МБ.

Перед строкой, в которой сохранен почтовый файл, я добавил: zip.ParallelDeflateThreshold = -1;

Это гарантирует, что отдельные нити никогда не создается. Похоже, как только zip-файлы пройдут определенный порог, DotNetZip продолжает создавать многочисленные потоки, вызывая очень большую задержку при получении окончательного zip-файла.

+0

Странно, что DotNetZip демонстрирует такое поведение на больших файлах. в любом случае я установил это свойство по умолчанию (-1, если не ошибаюсь), и теперь он работает. Спасибо – Techy

+0

Добро пожаловать. – Kimi

Смежные вопросы