พร็อกซีที่กำหนดค่าสำหรับ HttpClient ที่ตั้งชื่อหนึ่งตัวจะไม่กำหนดค่าให้ทุกไคลเอนต์ที่ IHttpClientFactory ส่งคืนโดยอัตโนมัติ เก็บชื่อที่ลงทะเบียนและชื่อที่ร้องขอไว้ด้วยกัน

services.AddHttpClient("via-proxy")
    .ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
    {
        Proxy = new WebProxy("http://203.0.113.10:8080"),
        UseProxy = true
    });

จากนั้นดึงการกำหนดค่าที่ตั้งชื่อนั้น:

var client = factory.CreateClient("via-proxy");

ปลายทางนั้นเป็นเพียงตัวอย่าง สำหรับคำขอบริการสาธารณะที่ได้รับอนุญาต รายการพร็อกซี HTTP มีผู้สมัครสำหรับ URL ของ WebProxy ของไคลเอนต์ที่ตั้งชื่อ การสร้างไคลเอนต์เริ่มต้นที่ไม่มีชื่อในที่อื่นเป็นการค้นหาอีกแบบ แม้ว่าไคลเอนต์ทั้งสองจะมาจากโรงงานที่ฉีดเข้าไปเดียวกันก็ตาม

กำหนดค่าพฤติกรรมพร็อกซีที่ระดับการเชื่อมต่อบน handler หลัก แทนที่จะถือว่าเป็นส่วนหัวคำขอปลายทาง โรงงานสามารถจัดการอายุการใช้งานของ handler แยกจากออบเจ็กต์ HttpClient ที่ส่งคืน

หากการเรียกเป็นของไคลเอนต์ที่กำหนดชนิดหรือ SDK อื่น ให้ตรวจสอบว่าการลงทะเบียนใดให้ HttpClient ของมัน ไคลเอนต์ที่ตั้งชื่อซึ่งกำหนดค่าอย่างถูกต้องแต่ไม่เคยถูกใช้จะไม่ส่งผลต่อเส้นทางเครือข่ายของ SDK นั้น

ใช้การกำหนดค่านี้สำหรับนโยบายการกำหนดเส้นทางที่มั่นคง การเปลี่ยน handler ที่ใช้งานอยู่ระหว่างการดำเนินการ ยังคงเป็นปัญหาด้านการทำงานพร้อมกันและอายุการใช้งานที่แยกจากกัน

บทความที่เกี่ยวข้อง