Stream.ReadAtLeastAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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.