var client = clients.GetOrAdd(
    "proxy-east",
    "https://example.com",
    builder => builder.ConfigureInnerHandler(handler =>
        handler.Proxy = new WebProxy("http://203.0.113.10:8080")));

Di sini clients adalah IFlurlClientCache Flurl 4. Pilih rute sebelum pencarian dan beri klien yang dapat digunakan kembali itu nama yang stabil. Untuk permintaan publik yang diizinkan, daftar proxy HTTP menawarkan kandidat untuk URL WebProxy handler dalam. Menggunakan kembali proxy-east dengan nilai proxy baru bukanlah konfigurasi ulang per permintaan atas klien yang sudah disimpan di sana.

Gunakan API handler yang sesuai dengan tipe yang dipilih aplikasi; Flurl mendokumentasikan jalur konfigurasi lain untuk SocketsHttpHandler.

Simpan rute yang dipilih dalam metadata operasi dan panggil melalui kliennya yang sesuai. Pilihan acak setiap kali sebuah factory dikonsultasikan dapat memberi satu pekerjaan logis kebijakan yang tidak konsisten.

Miliki cache untuk satu cakupan aplikasi dan batasi pertumbuhannya. Daftar proxy sementara yang berubah dapat menumpuk klien dan sumber daya; gunakan pengenal rute yang aman untuk nama/log alih-alih kata sandi yang tertanam.

Ini menggunakan antarmuka cache bernama Flurl 4 alih-alih menyalin infrastruktur factory khusus yang lama atau mengganti handler yang aktif selama permintaan lain.

Artikel terkait