การตั้งค่าพร็อกซีของ ServiceStack HttpUtils บน .NET 6+
กำหนดค่าพร็อกซีของไคลเอนต์ที่ใช้ร่วมกัน .NET 6+ ระหว่างการเริ่มต้น; การเปลี่ยนแฟกทอรีภายหลังไม่แทนที่ไคลเอนต์ที่มีอยู่
ในบิลด์ ServiceStack สำหรับ .NET 6+ นั้น HTTP Utils สร้าง HttpClient ที่ใช้ร่วมกันแบบหน่วงเวลา กำหนดค่าแฟกทอรีตัวจัดการระหว่างการเริ่มต้นแอปพลิเคชัน ก่อนการเรียกตัวช่วยครั้งแรก:
ServiceStack.HttpUtils.HttpClientHandlerFactory = () =>
new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = new System.Net.WebProxy("http://proxy.example:8080"),
AutomaticDecompression =
System.Net.DecompressionMethods.Brotli |
System.Net.DecompressionMethods.Deflate |
System.Net.DecompressionMethods.GZip
};หากไคลเอนต์ที่ใช้ร่วมกันมีอยู่แล้ว การเปลี่ยนแฟกทอรีนี้จะไม่กำหนดค่าใหม่ให้มัน ช่วงเวลานั้นคือการตรวจสอบแรกเมื่อการกำหนดค่าภายหลังดูเหมือนไม่มีผล ปลายทาง HTTP สามารถเลือกได้จากรายการพร็อกซี HTTP สำหรับเส้นทางสาธารณะก่อนที่ไคลเอนต์ที่ใช้ร่วมกันนั้นจะถูกสร้าง
สำหรับบัญชีพร็อกซี ให้กำหนด WebProxy.Credentials ผ่านการกำหนดค่าของแอปพลิเคชัน HttpClientHandler.UseDefaultCredentials เกี่ยวข้องกับบัญชีเซิร์ฟเวอร์และไม่เติมข้อมูลรับรองของอ็อบเจ็กต์พร็อกซีนั้นโดยอัตโนมัติ
ตัวอย่าง HttpWebRequest และ requestFilter แบบเก่ามุ่งเป้าไปที่การใช้งานก่อนหน้า ในรูปแบบใหม่ การกำหนดค่าคำขอครอบคลุมฟิลด์ของคำขอ ขณะที่ตัวจัดการเป็นเจ้าของการกำหนดเส้นทางการเชื่อมต่อ
รักษาแฟกทอรีไคลเอนต์ที่กำหนดเองที่มีอยู่ หรือการจัดการความเป็นเจ้าของแฟกทอรีไคลเอนต์ HTTP ของแอปพลิเคชัน เมื่อมีการติดตั้งไว้แล้ว แฟกทอรีตัวจัดการนี้เป็นนโยบายร่วม เส้นทางที่ไม่เกี่ยวข้องกันซึ่งทำงานพร้อมกันต้องมีไคลเอนต์ที่เป็นเจ้าของแยกกัน