ప్రతి ప్రాక్సీ ఖాతా కోసం ప్రత్యేక .NET హ్యాండ్లర్ ఉంచండి
ఇప్పటికే అభ్యర్థనలను అందిస్తున్న ట్రాన్స్పోర్ట్పై WebProxy.Credentials మార్చడం బదులు ఏకకాల ఖాతాల కోసం ప్రత్యేక హ్యాండ్లర్లను నిర్మించండి.
ట్రాన్స్పోర్ట్ తన పూల్ మేనేజర్ సృష్టించినప్పుడు ఎంచుకున్న ప్రాక్సీ ఆధారాల ప్రదాత వస్తువును ఉంచుకోవచ్చు. తర్వాత WebProxy.Credentials మార్చడం నమ్మదగిన ఖాతా మార్పు కాదు.
క్లయింట్ను ఉపయోగించే ముందు మార్గాన్ని మరియు ఖాతాను కలిసి సృష్టించండి:
var proxy = new System.Net.WebProxy(proxyEndpoint)
{
Credentials = new System.Net.NetworkCredential(proxyUser, proxyPassword)
};
var handler = new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = proxy
};
var client = new System.Net.Http.HttpClient(handler);ఎండ్పాయింట్ మరియు ఆధారాలు అప్లికేషన్ కాన్ఫిగరేషన్ నుండి వస్తాయి. రెండవ గుర్తింపు కోసం మరొక హ్యాండ్లర్ నిర్మించండి; మొదటి హ్యాండ్లర్ను పంచుకునే మరొక HttpClient దాని విధానాన్ని కూడా పంచుకుంటుంది.
అనుకూల ICredentials ప్రదాత తర్వాతి సవాళ్లకు సమాధానం ఇవ్వగలదు, కానీ స్థాపించిన టన్నెల్ను మరొక ఖాతాగా తిరిగి లేబుల్ చేయలేదు. అసింక్రోనస్ కాల్ల చుట్టూ ఒకే గ్లోబల్ వినియోగదారు పేరు/పాస్వర్డ్ కేటాయించడం సవాల్ సమయాన్ని మరియు ఖాతా యాజమాన్యాన్ని ఘర్షణలో ఉంచుతుంది.
పునర్వినియోగం అవసరమైనప్పుడు పరిమిత క్లయింట్ సెట్ను ఉంచండి. దాని ట్రాన్స్పోర్ట్ను పారవేసే ముందు పాత పనిని ఖాళీ చేయండి. ప్రతి అభ్యర్థనకు కొత్త హ్యాండ్లర్ కనెక్షన్ పూల్లను వృథా చేస్తుంది; అన్ని చారిత్రక ఖాతాలను శాశ్వతంగా ఉంచితే అవి హద్దు లేకుండా పెరుగుతాయి.