Wenn der erste Aufruf von Read () 0 zurückgibt, wird auch Stream.CopyTo () nicht funktionieren. Obwohl dies auf ein Problem mit GZipStream hinweist, ist es unwahrscheinlich, dass es einen Fehler wie diesen hat. Viel wahrscheinlicher ist, dass beim Erstellen der komprimierten Daten etwas schief gelaufen ist. Zum Beispiel das Komprimieren von 0 Bytes gefolgt von der Komprimierung der realen Daten.
Wie sicher bist du, dass die erste Kopie nichts tut und die zweite funktioniert
, das wäre ein Fehler in der Klasse GZipStream
. Ihr Code sollte gut funktionieren, ohne CopyTo zweimal aufzurufen.
Hallo, vielen Dank für die Beiträge von allen. Es stellt sich heraus, dass der Fehler durch einen Fehler in der Codierungsmethode verursacht wurde. Die Methode war
%Vor%Die Rückführungslinie sollte unter der Verwendung liegen, die es dem Komprimierungsstrom erlaubt, zu schließen und zu leeren, dies verursachte das inkonsistente Verhalten beim Dekomprimieren des Stroms.
%Vor%Danke für die Hilfe aller.