.NET IHttpClientFactory: הגדרת ה-proxy של הלקוח בעל השם
צרפו proxy ל-handler הראשי של לקוח בעל שם ב-IHttpClientFactory ואחזרו את אותו שם בנקודת הקריאה.
proxy שהוגדר עבור 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");נקודת הקצה היא להמחשה בלבד. עבור בקשות מורשות לשירותים ציבוריים, רשימת ה-proxy של HTTP מספקת מועמדים עבור כתובת ה-WebProxy של הלקוח בעל השם. יצירת לקוח ברירת המחדל ללא שם במקום אחר היא חיפוש אחר, גם אם שני הלקוחות מגיעים מאותה factory מוזרקת.
הגדירו התנהגות proxy ברמת החיבור על ה-handler הראשי במקום להתייחס אליה כאל כותרת בקשת יעד. ה-factory יכול לנהל תוחלת חיים של handler-ים בנפרד מאובייקטי ה-HttpClient שהוא מחזיר.
אם לקוח מטופל או SDK אחר מחזיק בקריאה, בדקו איזה רישום מספק את ה-HttpClient שלו. לקוח בעל שם שהוגדר כראוי ושאינו בשימוש לעולם אינו משפיע על נתיב הרשת של אותו SDK.
השתמשו בתצורה זו למדיניות ניתוב יציבה. החלפת handler חי בין פעולות נשארת בעיית מקביליות ותוחלת חיים נפרדת.