2010-07-08 8 views
2

실버 라이트 4에 대한 우편 어셈블리를 추천하지만 DeflateOutputStream 항상 2 바이트 (120, 156) 어떤 입력 (압축 알고리즘의 지옥;)의 경우 생산하기 때문에 심각하게 손상되는 것 같다 그래서 할 수 없습니다를 그걸 사용하십시오. 최신 릴리스가 거의 2 년 전인 것처럼 보입니다.내가 <a href="http://slsharpziplib.codeplex.com/" rel="nofollow noreferrer">Silverlight version of #ziplib (SharpZipLib)</a>을 사용하고

수축되는 스트림을 지원하는 무료 (상용 제품에서 사용하기 위해) 어셈블리에 대한 권장 사항은 무엇입니까?

편집 : DotNetZip 사이트는 Silverlight 지원이 다음 릴리스에서 연기된다고 말합니다. 마지막 * 릴리스 *가 작년이었고 알파가 '다 후드'에 있다고 생각하면 곧 다가오는 결실을 보게 될 것입니다.

+0

이 문제는 Silverlight SharpZipLib 개발자에게 게시 했습니까? 그것은 버그 나 오용처럼 들립니다. –

+0

@Ron :이 라이브러리는 적극적으로 개발되지 않아 버그를 해결할 가능성이 낮습니다. – AnthonyWJones

+0

@Anthony : 당신은 내 마음을 읽었습니다. –

답변

1

실례합니다.하지만 Silverlight SharpZipLib에 대해서는 잘못되었습니다. 에서 FlushClose으로 전화하는 것을 기억하면 정상적으로 작동합니다. 백업을 위해 MemoryStream을 사용하여 서버에 업로드 할 데이터를 압축 할 수있었습니다. 스트림이 닫히는 경우 데이터가 손실되었다고 생각하여 의도적으로 그렇게하지 않았습니다. 내가 byte[] MemoryStream.ToArray()을 발견 할 때까지 그랬다.

0

실버 라이트 이외는 DotNetZip을 선호하지만 실버 라이트는 없습니다.

Silverlight 용 SharpZipLib의 유일한 대안은 Silverlight 자신의 Zip 파일 압축 풀기입니다. 그러나 실제로는 Xaps에서 리소스에 액세스하기 위해 설계되었습니다.

+0

실제로 DotNetZip은 커뮤니티에서 SL4 용으로 컴파일되었습니다. DotNetZip의 "공식적인"SL4 릴리즈가 아직 없다는 것이 맞습니다. – Cheeso

+0

@Cheeso : 정말 잘 알고 있습니다. 수정되지 않은 채로 컴파일 되었습니까? 더 자세한 정보는 어디서 구할 수 있습니까? DotNetZip은 SharpZipLib보다 IMO에서 작업 할 수있는 API가 훨씬 뛰어납니다. – AnthonyWJones

+0

수정되지 않았습니다. 불필요하거나 원치 않는 코드의 일부를 제거하기 위해 조건부 컴파일을 사용한 사람. 한 가지 예는 내가 실수하지 않는다면 자동 압축 풀림 생성 생성물입니다. 이는 전체 DotNetZip 라이브러리 크기의 약 50 %를 차지하므로 SL4 버전에서 제거하는 것이 큰 이점입니다. 그는 그 물건을 지우는 것 말고는 그것을 컴파일하는 것은 간단하고 기계적인 작업이라고 말했다. – Cheeso

관련 문제