.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-യുടെ നെറ്റ്വർക്ക് പാതയെ ബാധിക്കില്ല.
സ്ഥിരതയുള്ള റൂട്ടിംഗ് നയത്തിനായി ഈ കോൺഫിഗറേഷൻ ഉപയോഗിക്കുക. പ്രവർത്തനങ്ങൾക്കിടയിൽ സജീവ ഹാൻഡ്ലർ മാറ്റുന്നത് ഇപ്പോഴും വേറിട്ട ഒരു കൺകറൻസി, ആയുസ്സ് പ്രശ്നമാണ്.