Udostępnij za pośrednictwem


BufferedStream.WriteAsync Metoda

Definicja

Przeciążenia

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Asynchronicznie zapisuje sekwencję bajtów do bieżącego buforowanego strumienia, przechodzi bieżącą pozycję w tym buforowym strumieniu przez liczbę zapisanych bajtów i monitoruje żądania anulowania.

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

Asynchronicznie zapisuje sekwencję bajtów do bieżącego strumienia, przechodzi bieżącą pozycję w tym strumieniu przez liczbę zapisanych bajtów i monitoruje żądania anulowania.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Źródło:
BufferedStream.cs
Źródło:
BufferedStream.cs
Źródło:
BufferedStream.cs

Asynchronicznie zapisuje sekwencję bajtów do bieżącego buforowanego strumienia, przechodzi bieżącą pozycję w tym buforowym strumieniu przez liczbę zapisanych bajtów i monitoruje żądania anulowania.

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

Parametry

buffer
ReadOnlyMemory<Byte>

Region pamięci do zapisywania danych.

cancellationToken
CancellationToken

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

Zwraca

Zadanie, które reprezentuje asynchroniczny zapis operacji.

Wyjątki

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwróconym zadaniu.

Uwagi

Metoda WriteAsync umożliwia wykonywanie operacji we/wy intensywnie korzystających z zasobów bez blokowania głównego wątku. Ta kwestia wydajności jest szczególnie ważna w aplikacji ze sklepu Windows 8.x lub aplikacji klasycznej, w której czasochłonna operacja strumienia może zablokować wątek interfejsu użytkownika i sprawić, że aplikacja będzie wyświetlana tak, jakby nie działała. Metody asynchroniczne są używane w połączeniu ze słowami kluczowymi async i await w Visual Basic i C#.

Użyj właściwości , CanWrite aby określić, czy bieżące wystąpienie obsługuje pisanie.

Jeśli operacja zostanie anulowana przed zakończeniem, zwrócone zadanie zawiera TaskStatus.Canceled wartość właściwości Task.Status .

Dotyczy

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

Źródło:
BufferedStream.cs
Źródło:
BufferedStream.cs
Źródło:
BufferedStream.cs

Asynchronicznie zapisuje sekwencję bajtów do bieżącego strumienia, przechodzi bieżącą pozycję w tym strumieniu przez liczbę zapisanych bajtów i monitoruje żądania anulowania.

public:
 override System::Threading::Tasks::Task ^ WriteAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function WriteAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task

Parametry

buffer
Byte[]

Bufor do zapisu danych.

offset
Int32

Przesunięcie bajtów na podstawie zera, z buffer którego ma rozpocząć kopiowanie bajtów do strumienia.

count
Int32

Maksymalna liczba bajtów do zapisu.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania.

Zwraca

Zadanie, które reprezentuje asynchroniczny zapis operacji.

Wyjątki

buffer to null.

offset lub count jest ujemny.

Suma offset wartości i count jest większa niż długość buforu.

Strumień nie obsługuje zapisywania.

Strumień został usunięty.

Strumień jest obecnie używany przez poprzednią operację zapisu.

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwróconym zadaniu.

Uwagi

Token anulowania można utworzyć, tworząc wystąpienie CancellationTokenSource klasy i przekazując Token właściwość jako cancellationToken parametr.

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez Write(Byte[], Int32, Int32)usługę .

Dotyczy