Stream.ReadExactlyAsync Metoda

Definicja

Przeciążenia

ReadExactlyAsync(Memory<Byte>, CancellationToken)

Asynchronicznie odczytuje bajty z bieżącego strumienia, przesuwa pozycję w strumieniu do buffer momentu wypełnienia i monitoruje żądania anulowania.

ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

Asynchronicznie odczytuje count liczbę bajtów z bieżącego strumienia, zwiększa pozycję w strumieniu i monitoruje żądania anulowania.

ReadExactlyAsync(Memory<Byte>, CancellationToken)

Asynchronicznie odczytuje bajty z bieżącego strumienia, przesuwa pozycję w strumieniu do buffer momentu wypełnienia i monitoruje żądania anulowania.

public System.Threading.Tasks.ValueTask ReadExactlyAsync (Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
member this.ReadExactlyAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ReadExactlyAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask

Parametry

buffer
Memory<Byte>

Bufor do zapisania danych.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania.

Zwraca

Zadanie reprezentujące asynchroniczną operację odczytu.

Wyjątki

Osiągnięto koniec strumienia przed wypełnieniem .buffer

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

Uwagi

Gdy buffer wartość jest pusta, ta operacja odczytu zostanie ukończona bez oczekiwania na dostępne dane w strumieniu.

Dotyczy

ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

Asynchronicznie odczytuje count liczbę bajtów z bieżącego strumienia, zwiększa pozycję w strumieniu i monitoruje żądania anulowania.

public System.Threading.Tasks.ValueTask ReadExactlyAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken = default);
member this.ReadExactlyAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ReadExactlyAsync (buffer As Byte(), offset As Integer, count As Integer, Optional cancellationToken As CancellationToken = Nothing) As ValueTask

Parametry

buffer
Byte[]

Bufor do zapisania danych.

offset
Int32

Przesunięcie bajtu, w buffer którym należy rozpocząć zapisywanie danych ze strumienia.

count
Int32

Liczba bajtów do odczytania z bieżącego strumienia.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania.

Zwraca

Zadanie reprezentujące asynchroniczną operację odczytu.

Wyjątki

buffer to null.

offsetznajduje się poza granicami .buffer

-lub-

count jest ujemna.

-lub-

Zakres określony przez kombinację offset i count przekracza długość buffer.

Osiągnięto koniec strumienia przed odczytaniem count liczby bajtów.

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

Uwagi

Gdy count wartość to 0 (zero), ta operacja odczytu zostanie ukończona bez oczekiwania na dostępne dane w strumieniu.

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 ReadExactly(Byte[], Int32, Int32)usługę .

Dotyczy