Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWSAPI asinkron untuk .NET
AWS SDK for .NETMenggunakan Task-based Asynchronous Pattern (TAP) untuk implementasi asinkron. Untuk mempelajari TAP selengkapnya, lihat Pola Asinkron Berbasis Tugas (TAP
Topik ini memberi Anda gambaran umum tentang cara menggunakan TAP dalam panggilan Anda ke klien AWS layanan.
Metode asinkron dalam AWS SDK for .NET API adalah operasi berdasarkan Task
kelas atau kelas. Task<TResult>
Lihat docs.microsoft.com untuk informasi tentang kelas-kelas ini: Kelas tugas, Kelas tugas
Ketika metode API ini dipanggil dalam kode Anda, mereka harus dipanggil dalam fungsi yang dideklarasikan dengan async
kata kunci, seperti yang ditunjukkan pada contoh berikut.
static async Task Main(string[] args) { ... // Call the function that contains the asynchronous API method. // Could also call the asynchronous API method directly from Main // because Main is declared async var response = await ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); ... } // Async method to get a list of Amazon S3 buckets. private static async Task<ListBucketsResponse> ListBucketsAsync() { ... var response = await s3Client.ListBucketsAsync(); return response; }
Seperti yang ditunjukkan pada cuplikan kode sebelumnya, ruang lingkup yang lebih disukai untuk async
deklarasi adalah fungsinya. Main
Menyetel async
cakupan ini memastikan bahwa semua panggilan ke klien AWS layanan harus asinkron. Jika Anda tidak dapat mendeklarasikan Main
asinkron karena alasan tertentu, Anda dapat menggunakan async
kata kunci pada fungsi selain Main
dan kemudian memanggil metode API dari sana, seperti yang ditunjukkan pada contoh berikut.
static void Main(string[] args) { ... Task<ListBucketsResponse> response = ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Result.Buckets.Count}"); ... } // Async method to get a list of Amazon S3 buckets. private static async Task<ListBucketsResponse> ListBucketsAsync() { ... var response = await s3Client.ListBucketsAsync(); return response; }
Perhatikan Task<>
sintaks khusus yang diperlukan Main
saat Anda menggunakan pola ini. Selain itu, Anda harus menggunakan Result
anggota respons untuk mendapatkan data.
Anda dapat melihat contoh lengkap panggilan asinkron ke klien AWS layanan di Ikuti tur singkat bagian (Aplikasi lintas platform sederhanadanAplikasi berbasis Windows sederhana) dan di. Contoh kode dengan panduan