IWebProxy .NET ที่แชร์กันปลอดภัยเมื่อมีคำขอพร้อมกันหรือไม่?
แยกแยะสัญญาว่าด้วยความพร้อมกันของการใช้งาน IWebProxy ออกจากความล่าช้าที่เกิดจากการค้นหาพร็อกซีอัตโนมัติ
IWebProxy อธิบายนโยบายพร็อกซี มันไม่ได้ให้การรับประกันความพร้อมกันแบบเดียวกันแก่ทุกการใช้งาน ก่อนแชร์อินสแตนซ์เดียวระหว่างงานของผู้ปฏิบัติงาน ให้ระบุการใช้งานที่เป็นรูปธรรมและรันไทม์ที่มันสังกัดอยู่
อินเทอร์เฟซเปิดเผยคำถามเส้นทางที่ขึ้นกับปลายทางและข้อมูลรับรอง การใช้งานที่กำหนดเองอาจปรึกษาที่อยู่คงที่ สถานะที่เปลี่ยนแปลงได้ หรือการกำหนดค่าอัตโนมัติ ตัวเลือกเหล่านั้นส่งผลต่อทั้งความปลอดภัยและประสิทธิภาพ
เก็บการเปลี่ยนแปลงการกำหนดค่าไว้นอกการประมวลผลคำขอ
หลีกเลี่ยงการใช้วัตถุพร็อกซีที่แชร์กันเป็นฉบับร่าง: การเปลี่ยนที่อยู่หรือข้อมูลรับรองสำหรับงาน A ขณะที่งาน B กำลังเลือกเส้นทางทำให้ความเป็นเจ้าของไม่ชัดเจน กำหนดค่านโยบายก่อนส่งมอบให้ไคลเอนต์ สำหรับงานที่มีบัญชีหรือปลายทางพร็อกซีต่างกัน ให้ใช้การกำหนดค่าไคลเอนต์ที่เป็นเจ้าของแยกกัน
เอกสาร WebProxy ในอดีตไม่ได้ให้การรับประกันความปลอดภัยของเธรดสำหรับสมาชิกอินสแตนซ์ ใช้สัญญานั้นกับการใช้งานที่เกี่ยวข้อง หากจำเป็นต้องซิงโครไนซ์ ผู้เขียนและผู้อ่านทุกคนต้องมีส่วนร่วม ล็อกแบบห่อไม่สามารถประสานผู้เรียกที่ใช้วัตถุต้นฉบับโดยตรงได้
การหยุดชั่วยาวใน GetProxy อาจเกี่ยวข้องกับการค้นหาหรือการประเมิน PAC แทน Microsoft จัดทำเอกสารการค้นหาแบบบล็อกสำหรับ WinHTTP คำอธิบายนั้นใช้เมื่อไคลเอนต์ใช้แบ็กเอนด์นั้น วัดการค้นหาเส้นทางแยกจากเวลาเชื่อมต่อและการตอบสนอง การทำให้การค้นหาช้าเป็นลำดับอาจสร้างคิวเท่านั้น
ปลายทางคงที่สามารถขจัดการค้นหาเมื่อต้องการเส้นทางคงที่ การจับ URI เดียวจากการกำหนดค่าระบบที่เปลี่ยนแปลงก็ทิ้งการตัดสินใจในอนาคตของมันด้วย รักษาความแตกต่างนั้นไว้เมื่อบำรุงรักษาโค้ดเก่า ใช้ HttpClient และการกำหนดค่าตัวจัดการที่รองรับสำหรับงาน HTTP ใหม่