Bagikan melalui


PipeStream.WriteAsync Metode

Definisi

Overload

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Secara asinkron menulis urutan byte ke aliran saat ini, memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis, dan memantau permintaan pembatalan.

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

Secara asinkron menulis jumlah byte tertentu dari array byte yang dimulai pada posisi tertentu, memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis, dan memantau permintaan pembatalan.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Sumber:
PipeStream.Unix.cs
Sumber:
PipeStream.Unix.cs
Sumber:
PipeStream.Unix.cs

Secara asinkron menulis urutan byte ke aliran saat ini, memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis, dan memantau permintaan pembatalan.

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

Parameter

buffer
ReadOnlyMemory<Byte>

Wilayah memori untuk menulis data.

cancellationToken
CancellationToken

Token yang akan dipantau untuk permintaan pembatalan. Nilai defaultnya adalah None.

Mengembalikan

Tugas yang mewakili operasi penulisan asinkron.

Pengecualian

Stream tidak mendukung penulisan.

Tidak dapat mengakses pipa tertutup.

Pipanya rusak.

Pipa belum tersambung.

-atau-

Pipa dalam keadaan terputus.

-atau-

Handel pipa belum disetel. (Apakah implementasi Anda PipeStream memanggil InitializeHandle(SafePipeHandle, Boolean, Boolean)?

Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.

Keterangan

Metode ini WriteAsync memungkinkan Anda melakukan operasi I/O intensif sumber daya tanpa memblokir utas utama. Pertimbangan performa ini sangat penting dalam aplikasi di mana operasi streaming yang memakan waktu dapat memblokir utas UI dan membuat aplikasi Anda muncul seolah-olah tidak berfungsi. Metode asinkron digunakan bersama dengan async kata kunci dan await di Visual Basic dan C#.

CanWrite Gunakan properti untuk menentukan apakah instans saat ini mendukung penulisan.

Jika operasi dibatalkan sebelum selesai, tugas yang dikembalikan berisi Canceled nilai untuk Status properti .

Berlaku untuk

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

Sumber:
PipeStream.Unix.cs
Sumber:
PipeStream.Unix.cs
Sumber:
PipeStream.Unix.cs

Secara asinkron menulis jumlah byte tertentu dari array byte yang dimulai pada posisi tertentu, memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis, dan memantau permintaan pembatalan.

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

Parameter

buffer
Byte[]

Buffer untuk menulis data.

offset
Int32

Offset byte berbasis nol untuk buffer mulai menyalin byte ke aliran.

count
Int32

Jumlah maksimum byte yang akan ditulis.

cancellationToken
CancellationToken

Token yang akan dipantau untuk permintaan pembatalan. Nilai defaultnya adalah None.

Mengembalikan

Tugas yang mewakili operasi penulisan asinkron.

Pengecualian

bufferadalah null.

Negatif offset .

-atau-

Negatif count .

buffer. Panjang - offset kurang dari count.

Stream tidak mendukung penulisan.

Tidak dapat mengakses pipa tertutup.

Pipanya rusak.

Pipa belum tersambung.

-atau-

Pipa dalam keadaan terputus.

-atau-

Handel pipa belum disetel. (Apakah implementasi Anda PipeStream memanggil InitializeHandle(SafePipeHandle, Boolean, Boolean)?

Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.

Keterangan

Metode ini WriteAsync memungkinkan Anda melakukan operasi I/O intensif sumber daya tanpa memblokir utas utama. Pertimbangan performa ini sangat penting dalam aplikasi di mana operasi streaming yang memakan waktu dapat memblokir utas UI dan membuat aplikasi Anda muncul seolah-olah tidak berfungsi. Metode asinkron digunakan bersama dengan async kata kunci dan await di Visual Basic dan C#.

CanWrite Gunakan properti untuk menentukan apakah instans saat ini mendukung penulisan.

Jika operasi dibatalkan sebelum selesai, tugas yang dikembalikan berisi TaskStatus.Canceled nilai untuk Status properti .

Metode ini disimpan dalam tugas yang menampilkan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Write(Byte[], Int32, Int32).

Berlaku untuk