Apa itu ConfigureAwait?
Apa itu ConfigureAwait?

Video: Apa itu ConfigureAwait?

Video: Apa itu ConfigureAwait?
Video: S06-11 - Actualités et Utilisation de ConfigureAwait C# 2024, Mungkin
Anonim

KonfigurasiMenunggu (salah) melibatkan tugas yang sudah selesai pada saat itu ditunggu (yang sebenarnya sangat umum), lalu KonfigurasiMenunggu (false) tidak akan ada artinya, karena utas terus mengeksekusi kode dalam metode setelah ini dan masih dalam konteks yang sama yang ada sebelumnya.

Selanjutnya, orang mungkin juga bertanya, apa gunanya ConfigureAwait false?

KonfigurasiMenunggu ( Salah ) mengonfigurasi tugas sehingga kelanjutan setelah menunggu tidak harus dijalankan dalam konteks pemanggil, oleh karena itu menghindari kemungkinan kebuntuan.

Selain di atas, apa itu SynchronizationContext? SinkronisasiKonteks adalah representasi dari lingkungan saat ini tempat kode kita berjalan. Artinya, dalam program asinkron, ketika kita mendelegasikan unit kerja ke utas lain, kita menangkap lingkungan saat ini dan menyimpannya dalam instance SinkronisasiKonteks dan letakkan di objek Task.

Dengan mempertimbangkan hal ini, apa gunanya ConfigureAwait?

Menggunakan KonfigurasiMenunggu (salah) untuk menghindari kebuntuan adalah praktik yang berbahaya. Anda harus gunakan ConfigureAwait (salah) untuk setiap menunggu dalam penutupan transitif dari semua metode yang dipanggil oleh kode pemblokiran, termasuk semua kode pihak ketiga dan kedua. Menggunakan KonfigurasiMenunggu (salah) untuk menghindari kebuntuan paling baik hanya peretasan).

Apa itu GetAwaiter?

DapatkanPelayan () metode, yang mengembalikan sebuah instance yang memiliki metode GetResult(). Saat digunakan pada Tugas yang salah, GetResult() akan menyebarkan pengecualian asli (ini adalah bagaimana " tugas menunggu; " mendapatkan perilakunya). GetResult() karena mempertahankan pengecualian tugas alih-alih membungkusnya dalam AggregateException.

Direkomendasikan: