Udostępnij za pośrednictwem


TarReader.GetNextEntryAsync(Boolean, CancellationToken) Metoda

Definicja

Asynchronicznie pobiera następny wpis ze strumienia archiwum.

public System.Threading.Tasks.ValueTask<System.Formats.Tar.TarEntry?> GetNextEntryAsync (bool copyData = false, System.Threading.CancellationToken cancellationToken = default);
member this.GetNextEntryAsync : bool * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Formats.Tar.TarEntry>
Public Function GetNextEntryAsync (Optional copyData As Boolean = false, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of TarEntry)

Parametry

copyData
Boolean

true aby skopiować dane wpisu do nowego MemoryStreamelementu . Jest to przydatne, gdy bazowy strumień archiwum nie obsługuje wyszukiwania, a dostęp do danych należy uzyskać później.

false jeśli dane nie powinny być kopiowane do nowego strumienia. Jeśli podstawowy strumień nie obsługuje wyszukiwania, użytkownik ponosi odpowiedzialność za odczytywanie i przetwarzanie DataStream natychmiast po wywołaniu tej metody.

Wartość domyślna to false.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania. Wartość domyślna to None.

Zwraca

Zadanie wartości zawierające TarEntry wystąpienie, jeśli znaleziono prawidłowy wpis lub null czy osiągnięto koniec archiwum.

Wyjątki

Archiwum jest źle sformułowane.

-lub-

Archiwum zawiera wpisy w różnych formatach.

-lub-

W bieżącym archiwum znaleziono więcej niż jeden wpis globalnych atrybutów rozszerzonych Pax .

-lub-

W bieżącym Pax archiwum znaleziono co najmniej dwa wpisy atrybutów rozszerzonych.

Wystąpił problem z we/wy.

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwracanym zadaniu.

Uwagi

Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez GetNextEntry(Boolean)usługę .

Dotyczy