PipeStream.WriteAsync Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
WriteAsync(ReadOnlyMemory<Byte>, 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(Byte[], Int32, Int32, CancellationToken) |
Asynchronicznie zapisuje określoną liczbę bajtów z tablicy bajtów rozpoczynającej się od określonej pozycji, zwiększa bieżącą pozycję w tym strumieniu o liczbę zapisanych bajtów i monitoruje żądania anulowania. |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)
- Źródło:
- PipeStream.Unix.cs
- Źródło:
- PipeStream.Unix.cs
- Źródło:
- PipeStream.Unix.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.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
Usługa Stream nie obsługuje zapisywania.
Nie można uzyskać dostępu do zamkniętego potoku.
Rura jest uszkodzona.
Rura nie została jeszcze połączona.
-lub-
Potok jest w stanie rozłączenia.
-lub-
Uchwyt potoku nie został ustawiony. (Czy wywołanie PipeStream implementacji InitializeHandle(SafePipeHandle, Boolean, Boolean)?
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 aplikacjach, w których czasochłonna operacja strumienia może blokować wątek interfejsu użytkownika i sprawiać, że aplikacja jest 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 Canceled wartość właściwości Status .
Dotyczy
WriteAsync(Byte[], Int32, Int32, CancellationToken)
- Źródło:
- PipeStream.Unix.cs
- Źródło:
- PipeStream.Unix.cs
- Źródło:
- PipeStream.Unix.cs
Asynchronicznie zapisuje określoną liczbę bajtów z tablicy bajtów rozpoczynającej się od określonej pozycji, zwiększa bieżącą pozycję w tym strumieniu o 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. Wartość domyślna to None.
Zwraca
Zadanie, które reprezentuje asynchroniczny zapis operacji.
Wyjątki
buffer
to null
.
buffer
. Długość — offset
jest mniejsza niż count
.
Usługa Stream nie obsługuje zapisywania.
Nie można uzyskać dostępu do zamkniętego potoku.
Rura jest uszkodzona.
Rura nie została jeszcze połączona.
-lub-
Potok jest w stanie rozłączenia.
-lub-
Uchwyt potoku nie został ustawiony. (Czy wywołanie PipeStream implementacji InitializeHandle(SafePipeHandle, Boolean, Boolean)?
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 aplikacjach, w których czasochłonna operacja strumienia może blokować wątek interfejsu użytkownika i sprawiać, że aplikacja jest 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 Status .
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ę .