.NET IHttpClientFactory: Mengonfigurasi Proxy Klien Bernama
Lampirkan proxy ke handler utama klien bernama IHttpClientFactory dan ambil nama yang sama di lokasi pemanggilan.
Proxy yang dikonfigurasi untuk satu HttpClient bernama tidak otomatis mengonfigurasi setiap klien yang dikembalikan IHttpClientFactory. Jaga nama pendaftaran dan nama yang diminta tetap bersama.
services.AddHttpClient("via-proxy")
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
Proxy = new WebProxy("http://203.0.113.10:8080"),
UseProxy = true
});Lalu ambil konfigurasi bernama tersebut:
var client = factory.CreateClient("via-proxy");Titik akhir bersifat ilustratif. Untuk permintaan layanan publik yang diizinkan, daftar proxy HTTP menyediakan kandidat untuk URL WebProxy klien bernama. Membuat klien default tanpa nama di tempat lain adalah pencarian yang berbeda, meskipun kedua klien berasal dari factory yang disuntikkan sama.
Konfigurasikan perilaku proxy pada tingkat koneksi di handler utama alih-alih memperlakukannya sebagai header permintaan tujuan. Factory dapat mengelola masa pakai handler secara terpisah dari objek HttpClient yang dikembalikannya.
Jika panggilan dimiliki oleh klien bertipe atau SDK lain, periksa pendaftaran mana yang menyediakan HttpClient-nya. Klien bernama yang dikonfigurasi dengan benar tetapi tidak pernah digunakan tidak memengaruhi jalur jaringan SDK tersebut.
Gunakan konfigurasi ini untuk kebijakan perutean yang stabil. Mengganti handler yang aktif di antara operasi tetap menjadi masalah konkurensi dan masa pakai yang terpisah.