Stream.WriteAsync Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Secara asinkron menulis urutan byte ke aliran saat ini dan memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis.
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) |
Secara asinkron menulis urutan byte ke aliran saat ini dan memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis. |
WriteAsync(Byte[], Int32, Int32, 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(ReadOnlyMemory<Byte>, CancellationToken)
- Sumber:
- Stream.cs
- Sumber:
- Stream.cs
- Sumber:
- Stream.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 virtual System.Threading.Tasks.ValueTask WriteAsync (ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
abstract member WriteAsync : ReadOnlyMemory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
override this.WriteAsync : ReadOnlyMemory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Overridable 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 tulis asinkron.
Pengecualian
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 Windows 8.x Store atau aplikasi desktop tempat operasi aliran yang memakan waktu dapat memblokir rangkaian UI dan membuat aplikasi tampak 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 .
Misalnya, lihat WriteAsync(Byte[], Int32, Int32) kelebihan beban.
Berlaku untuk
WriteAsync(Byte[], Int32, Int32)
- Sumber:
- Stream.cs
- Sumber:
- Stream.cs
- Sumber:
- Stream.cs
Secara asinkron menulis urutan byte ke aliran saat ini dan memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis.
public:
System::Threading::Tasks::Task ^ WriteAsync(cli::array <System::Byte> ^ buffer, int offset, int count);
public System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count);
[System.Runtime.InteropServices.ComVisible(false)]
public System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count);
member this.WriteAsync : byte[] * int * int -> System.Threading.Tasks.Task
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.WriteAsync : byte[] * int * int -> System.Threading.Tasks.Task
Public Function WriteAsync (buffer As Byte(), offset As Integer, count As Integer) 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.
Mengembalikan
Tugas yang mewakili operasi tulis asinkron.
- Atribut
Pengecualian
buffer
adalah null
.
offset
atau count
negatif.
Jumlah offset
dan count
lebih besar dari panjang buffer.
Aliran tidak mendukung penulisan.
Aliran telah dibuang.
Aliran saat ini sedang digunakan oleh operasi tulis sebelumnya.
Contoh
Contoh berikut menunjukkan cara menulis secara asinkron ke file. Contohnya menggunakan FileStream kelas , yang berasal dari Stream kelas .
using System;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.IO;
namespace WpfApplication1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private async void Button_Click(object sender, RoutedEventArgs e)
{
UnicodeEncoding uniencoding = new UnicodeEncoding();
string filename = @"c:\Users\exampleuser\Documents\userinputlog.txt";
byte[] result = uniencoding.GetBytes(UserInput.Text);
using (FileStream SourceStream = File.Open(filename, FileMode.OpenOrCreate))
{
SourceStream.Seek(0, SeekOrigin.End);
await SourceStream.WriteAsync(result, 0, result.Length);
}
}
}
}
Imports System.IO
Imports System.Text
Class MainWindow
Private Async Sub Button_Click(sender As Object, e As RoutedEventArgs)
Dim uniencoding As UnicodeEncoding = New UnicodeEncoding()
Dim filename As String = "c:\Users\exampleuser\Documents\userinputlog.txt"
Dim result As Byte() = uniencoding.GetBytes(UserInput.Text)
Using SourceStream As FileStream = File.Open(filename, FileMode.OpenOrCreate)
SourceStream.Seek(0, SeekOrigin.End)
Await SourceStream.WriteAsync(result, 0, result.Length)
End Using
End Sub
End Class
Keterangan
Metode ini WriteAsync memungkinkan Anda melakukan operasi I/O intensif sumber daya tanpa memblokir utas utama. Pertimbangan performa ini sangat penting dalam aplikasi Windows 8.x Store atau aplikasi desktop tempat operasi aliran yang memakan waktu dapat memblokir rangkaian UI dan membuat aplikasi tampak 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.
Metode ini disimpan dalam tugas yang mengembalikan 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
WriteAsync(Byte[], Int32, Int32, CancellationToken)
- Sumber:
- Stream.cs
- Sumber:
- Stream.cs
- Sumber:
- Stream.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:
virtual System::Threading::Tasks::Task ^ WriteAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
[System.Runtime.InteropServices.ComVisible(false)]
public virtual System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
abstract member WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overridable 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 tulis asinkron.
- Atribut
Pengecualian
buffer
adalah null
.
offset
atau count
negatif.
Jumlah offset
dan count
lebih besar dari panjang buffer.
Aliran tidak mendukung penulisan.
Aliran telah dibuang.
Aliran saat ini sedang digunakan oleh operasi tulis sebelumnya.
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 Windows 8.x Store atau aplikasi desktop tempat operasi aliran yang memakan waktu dapat memblokir rangkaian UI dan membuat aplikasi tampak 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 .
Misalnya, lihat WriteAsync(Byte[], Int32, Int32) kelebihan beban.
Metode ini disimpan dalam tugas yang mengembalikan 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).