Logo id.boatexistence.com

Haruskah httpclient bersifat sementara atau lajang?

Daftar Isi:

Haruskah httpclient bersifat sementara atau lajang?
Haruskah httpclient bersifat sementara atau lajang?

Video: Haruskah httpclient bersifat sementara atau lajang?

Video: Haruskah httpclient bersifat sementara atau lajang?
Video: Angular httpclient error handling 2024, Mungkin
Anonim

Kelas HttpClient lebih cocok sebagai singleton untuk satu domain aplikasi. Ini berarti singleton harus dibagikan di beberapa kelas container. Dengan taktik ini, Anda mendapatkan seorang lajang, tetapi ini membuatnya sulit untuk dibagikan. Kelas HttpClient mengimplementasikan antarmuka IDisposable.

Haruskah kita membuat satu instance HttpClient baru untuk semua permintaan?

Meskipun mengimplementasikan antarmuka IDisposable, ini sebenarnya adalah objek bersama. Ini berarti bahwa di bawah selimut itu masuk kembali dan aman dari benang. Alih-alih membuat instance baru HttpClient untuk setiap eksekusi, Anda harus membagikan satu instance HttpClient untuk seluruh masa pakai aplikasi.

Haruskah Anda menggunakan kembali

HttpClient dimaksudkan untuk dipakai sekali dan digunakan kembali sepanjang masa pakai aplikasi. Membuat instance kelas HttpClient untuk setiap permintaan akan menghabiskan jumlah soket yang tersedia di bawah beban berat. Ini akan menghasilkan kesalahan SocketException.

Apakah HttpClient tidak dikelola?

Meskipun HttpClient secara tidak langsung mengimplementasikan antarmuka IDisposable, penggunaan standar HttpClient adalah tidak membuangnya setelah setiap permintaan. Objek HttpClient dimaksudkan untuk hidup selama aplikasi Anda perlu membuat permintaan

Apakah thread-safe

HttpClient sepenuhnya thread-safe ketika digunakan dengan manajer koneksi thread-safe seperti MultiThreadedHttpConnectionManager. … Pada saat yang sama instance HttpClient dan manajer koneksi harus dibagikan di antara semua utas untuk efisiensi maksimum.

Direkomendasikan: