Freigeben über


Stream.ReadAtLeastAsync Methode

Definition

Liest asynchron mindestens eine Mindestanzahl von Bytes aus dem aktuellen Stream, erhöht die Position innerhalb des Datenstroms um die Anzahl der gelesenen Bytes und überwacht Abbruchanforderungen.

public System.Threading.Tasks.ValueTask<int> ReadAtLeastAsync (Memory<byte> buffer, int minimumBytes, bool throwOnEndOfStream = true, System.Threading.CancellationToken cancellationToken = default);
member this.ReadAtLeastAsync : Memory<byte> * int * bool * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function ReadAtLeastAsync (buffer As Memory(Of Byte), minimumBytes As Integer, Optional throwOnEndOfStream As Boolean = true, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Parameter

buffer
Memory<Byte>

Der Bereich im Arbeitsspeicher, in den die Daten geschrieben werden sollen.

minimumBytes
Int32

Die Mindestanzahl von Bytes, die in den Puffer eingelesen werden sollen.

throwOnEndOfStream
Boolean

true , um eine Ausnahme auszulösen, wenn das Ende des Datenstroms vor dem Lesen minimumBytes von Bytes erreicht wird, false um weniger zurückzugeben, als minimumBytes wenn das Ende des Datenstroms erreicht ist. Der Standardwert lautet true.

cancellationToken
CancellationToken

Das Token zum Überwachen von Abbruchanforderungen.

Gibt zurück

Eine Aufgabe, die den asynchronen Lesevorgang darstellt. Der Wert seiner Result-Eigenschaft enthält die Gesamtzahl der Bytes, die in den Puffer gelesen werden. Dies ist garantiert größer oder gleich minimumBytes , wenn throwOnEndOfStream ist true. Dies ist weniger als minimumBytes , wenn das Ende des Datenstroms erreicht wird und throwOnEndOfStream ist false. Dies kann kleiner als die Anzahl der im Puffer zugewiesenen Bytes sein, wenn diese anzahl von Bytes derzeit nicht verfügbar ist.

Ausnahmen

minimumBytes ist negativ oder ist größer als die Länge von buffer.

throwOnEndOfStream ist true und das Ende des Datenstroms vor dem Lesen minimumBytes von Datenbytes erreicht wird.

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Hinweise

Wenn minimumBytes 0 (null) ist, wird dieser Lesevorgang abgeschlossen, ohne auf verfügbare Daten im Stream zu warten.

Gilt für: