.NET 6+ ൽ ServiceStack HttpUtils പ്രോക്സി ക്രമീകരണങ്ങൾ
ഇനിഷ്യലൈസേഷൻ സമയത്ത് .NET 6+ പങ്കിട്ട ക്ലയന്റിന്റെ പ്രോക്സി ക്രമീകരിക്കുക; പിന്നീട് ഫാക്ടറി മാറ്റിയാലും നിലവിലുള്ള ക്ലയന്റ് മാറില്ല.
ServiceStack-ന്റെ .NET 6+ ബിൽഡുകളിൽ HTTP Utils ഒരു മന്ദഗതിയിലുള്ള പങ്കിട്ട HttpClient സൃഷ്ടിക്കുന്നു. ആപ്ലിക്കേഷൻ ഇനിഷ്യലൈസേഷൻ സമയത്ത്, ആദ്യ ഹെൽപ്പർ കോളിന് മുമ്പ് അതിന്റെ ഹാൻഡ്ലർ ഫാക്ടറി ക്രമീകരിക്കുക:
ServiceStack.HttpUtils.HttpClientHandlerFactory = () =>
new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = new System.Net.WebProxy("http://proxy.example:8080"),
AutomaticDecompression =
System.Net.DecompressionMethods.Brotli |
System.Net.DecompressionMethods.Deflate |
System.Net.DecompressionMethods.GZip
};പങ്കിട്ട ക്ലയന്റ് ഇതിനകം ഉണ്ടെങ്കിൽ, ഈ ഫാക്ടറി മാറ്റുന്നത് അതിനെ വീണ്ടും ക്രമീകരിക്കുന്നില്ല. പിന്നീടുള്ള അസൈൻമെന്റ് ഫലപ്രദമല്ലെന്ന് തോന്നുമ്പോൾ ആദ്യ പരിശോധന ആ സമയമാണ്. ആ പങ്കിട്ട ക്ലയന്റ് സൃഷ്ടിക്കുന്നതിന് മുമ്പ് HTTP പ്രോക്സി പട്ടികയിൽ നിന്ന് ഒരു HTTP എൻഡ്പോയിന്റ് പൊതു റൂട്ടിനായി തിരഞ്ഞെടുക്കാം.
പ്രോക്സി അക്കൗണ്ടിനായി, ആപ്ലിക്കേഷന്റെ കോൺഫിഗറേഷനിലൂടെ WebProxy.Credentials ക്രമീകരിക്കുക. HttpClientHandler.UseDefaultCredentials സർവർ അക്കൗണ്ടിനെ സംബന്ധിക്കുന്നു, ആ പ്രോക്സി ഒബ്ജക്റ്റിന്റെ ക്രെഡൻഷ്യലുകൾ സ്വയമേവ പൂരിപ്പിക്കുന്നില്ല.
പഴയ HttpWebRequest, requestFilter ഉദാഹരണം മുൻ നടപ്പാക്കലിനെ ലക്ഷ്യമിടുന്നു. പുതിയ രൂപത്തിൽ, അഭ്യർത്ഥന കോൺഫിഗറേഷൻ അഭ്യർത്ഥന ഫീൽഡുകൾ ഉൾക്കൊള്ളുന്നു, ഹാൻഡ്ലർ കണക്ഷൻ റൂട്ടിംഗ് കൈവശം വയ്ക്കുന്നു.
ഇതിനകം ഇൻസ്റ്റാൾ ചെയ്ത ഇഷ്ടാനുസൃത ക്ലയന്റ് ഫാക്ടറിയോ ആപ്ലിക്കേഷന്റെ HTTP ക്ലയന്റ് ഫാക്ടറി ഉടമസ്ഥതാ ക്രമമോ നിലനിർത്തുക. ഈ ഹാൻഡ്ലർ ഫാക്ടറി പങ്കിട്ട നയമാണ്; ഒരേസമയം പ്രവർത്തിക്കുന്ന അസംബന്ധ റൂട്ടുകൾക്ക് വെവ്വേറെ ഉടമസ്ഥതയുള്ള ക്ലയന്റുകൾ വേണം.