2012-08-16 38 views
7

Tôi đang sử dụng phiên bản mới nhất của phiên bản zip ionic 1.9.1.8.I đã thiết lập thuộc tính của ionic zip ParallelDeflateThreshold = 0. Cơ chế nén đã hoạt động hoàn hảo trong hai tháng qua.Đột nhiên, thao tác nén này chỉ bị treo, ionic zip vừa tạo tệp tmp và không thể tạo tệp nén. Tôi có thể dễ dàng tái tạo vấn đề này ngay cả với kích thước tệp nhỏ.Nén không thành công khi sử dụng mã zip iốt

phân tích của tôi cho vấn đề này là như sau

Vấn đề là với phiên bản mới nhất của zip ion, trong trường hợp này zip ion treo cổ trong khi tạo ra các tập tin zip. Chúng tôi nhận thấy rằng, một vài người dùng khác sử dụng dll này cũng đã báo cáo lỗi như vậy trong trang web của họ. Vui lòng tham khảo the link. Vấn đề này sẽ được giải quyết bằng cách vô hiệu hoá ParallelThreshold thuộc tính của mã zip ionic, nhưng nó sẽ làm chậm hiệu suất cho các tệp nhật ký lớn, vì nó hoạt động trên một sợi đơn thay vì chế độ đa luồng.

Sự cố đã được giải quyết ngay bây giờ bằng cách đặt ParallelDeflateThreshold thuộc tính thành giá trị mặc định.Nhưng tôi không thể tìm ra nguyên nhân chính xác của vấn đề này.Tại sao lỗi nén đột ngột? Không có thay đổi máy.

+0

Ai đó trên http://dotnetzip.codeplex.com/ có thể trợ giúp. – Surfbutler

Trả lời

15

Tôi đang gặp phải sự cố tương tự, với các tệp zip nhỏ hơn 20-25MB, mất 3-4 giây, nhưng bất kỳ điều gì lớn hơn thế, nó đã mất thời gian vô hạn. Mã không bao giờ được thực hiện xong.

Tôi bắt đầu lo lắng rằng có thể đó là quyết định sai khi sử dụng thư viện DotNetZip afterall, khi chúng tôi làm việc với zipfiles tối đa 500MB.

Trước khi dòng nơi file zip được lưu, tôi nói thêm: zip.ParallelDeflateThreshold = -1;

Điều này đảm bảo rằng chủ đề riêng biệt không bao giờ được tạo ra. Có vẻ như một khi các tệp zip vượt qua một ngưỡng nhất định, DotNetZip sẽ tạo ra nhiều chuỗi tạo ra độ trễ rất lớn trong việc lấy tệp nén cuối cùng.

+0

Thật lạ khi DotNetZip thể hiện một hành vi như vậy trên các tệp lớn. anyway tôi đã thiết lập tài sản này để giá trị mặc định (-1 nếu không sai) và bây giờ làm việc của nó. Cảm ơn bạn – Techy

+0

Bạn đang Chào mừng. – Kimi

Các vấn đề liên quan