TarReader.GetNextEntryAsync(Boolean, CancellationToken) Метод

Определение

Асинхронно извлекает следующую запись из архивного потока.

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)

Параметры

copyData
Boolean

true чтобы скопировать данные записи в новую MemoryStream. Это полезно, если базовый поток архива не поддерживает поиск, и данные должны быть доступны позже.

false Если данные не должны быть скопированы в новый поток. Если базовый поток не поддерживает поиск, пользователь несет ответственность за чтение и обработку DataStream сразу после вызова этого метода.

Значение по умолчанию — false.

cancellationToken
CancellationToken

Маркер для отслеживания запросов на отмену. Значение по умолчанию — None.

Возвращаемое значение

Задача значения, TarEntry содержащая экземпляр, если найдена допустимая запись или null была достигнута конец архива.

Исключения

Архив неправильно сформирован.

–или–

Архив содержит записи в разных форматах.

–или–

В текущем Pax архиве найдено несколько глобальных расширенных атрибутов.

–или–

Два или более записей расширенных атрибутов были найдены последовательно в текущем Pax архиве.

–или–

только .NET 11 и более поздних версий: недопустимая сумма записи.

Возникла проблема ввода-вывода.

Маркер отмены был отменен. Это исключение хранится в возвращаемой задаче.

Комментарии

Этот метод сохраняет в задаче все исключения без использования, которые может вызывать синхронный аналог метода. Если исключение хранится в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему выбрасываются синхронно. Сведения о сохраненных исключениях см. в исключениях, создаваемых GetNextEntry(Boolean).

Применяется к