.NET IHttpClientFactory: పేరున్న క్లయింట్ యొక్క ప్రాక్సీని కాన్ఫిగర్ చేయడం
IHttpClientFactory పేరున్న క్లయింట్ యొక్క ప్రాథమిక హ్యాండ్లర్కు ప్రాక్సీని జోడించి, కాల్ సైట్లో అదే పేరును ఉపయోగించండి.
ఒక పేరున్న 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 ప్రాక్సీ జాబితా పేరున్న క్లయింట్ యొక్క WebProxy URL కోసం అభ్యర్థులను అందిస్తుంది. డిఫాల్ట్ పేరులేని క్లయింట్ను మరెక్కడా సృష్టించడం వేరే శోధన; రెండు క్లయింట్లు ఒకే ఇంజెక్ట్ చేసిన ఫ్యాక్టరీ నుండి వచ్చినా.
ప్రాక్సీ ప్రవర్తనను గమ్యస్థాన అభ్యర్థన హెడర్గా పరిగణించకుండా ప్రాథమిక హ్యాండ్లర్పై కనెక్షన్ స్థాయిలో కాన్ఫిగర్ చేయండి. ఫ్యాక్టరీ తాను తిరిగి ఇచ్చే HttpClient ఆబ్జెక్టుల నుండి హ్యాండ్లర్ల జీవితకాలాన్ని విడిగా నిర్వహించగలదు.
కాల్ టైప్డ్ క్లయింట్కు లేదా మరొక SDKకు చెందితే, దాని HttpClientను ఏ రిజిస్ట్రేషన్ అందిస్తుందో తనిఖీ చేయండి. సరిగ్గా కాన్ఫిగర్ చేసినప్పటికీ ఎప్పుడూ ఉపయోగించని పేరున్న క్లయింట్ ఆ SDK నెట్వర్క్ మార్గాన్ని ప్రభావితం చేయదు.
స్థిరమైన రూటింగ్ విధానం కోసం ఈ కాన్ఫిగరేషన్ను ఉపయోగించండి. ఆపరేషన్ల మధ్య లైవ్ హ్యాండ్లర్ను మార్చడం ఇప్పటికీ వేరే కన్కరెన్సీ మరియు జీవితకాల సమస్య.