.NET IHttpClientFactory: Stel die benoemde client se proxy op
Heg 'n proxy aan 'n IHttpClientFactory-benoemde client se primere handler en haal dieselfde naam by die oproepplek op.
'n Proxy wat vir een benoemde HttpClient opgestel is, stel nie outomaties elke client op wat deur IHttpClientFactory teruggegee word nie. Hou die registrasienaam en die aangevraagde naam bymekaar.
services.AddHttpClient("via-proxy")
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
Proxy = new WebProxy("http://203.0.113.10:8080"),
UseProxy = true
});Haal dan daardie benoemde konfigurasie op:
var client = factory.CreateClient("via-proxy");Die eindpunt is illustratief. Vir toegelate versoeke na openbare dienste bied die HTTP-proxylys kandidate vir die benoemde client se WebProxy-URL. Om die verstek naamlose client elders te skep, is 'n ander opsoeking, selfs al kom albei clients van dieselfde geinjekteerde fabriek.
Stel verbindingsvlak-proxygedrag op die primere handler op eerder as om dit as 'n bestemmingsversoekkop te behandel. Die fabriek kan handler-leeftye afsonderlik van die HttpClient-objekte wat dit teruggee, bestuur.
As 'n getipeerde client of 'n ander SDK die oproep besit, kyk watter registrasie sy HttpClient verskaf. 'n Korrek opgestelde benoemde client wat nooit gebruik word nie, beinvloed nie daardie SDK se netwerkpad nie.
Gebruik hierdie konfigurasie vir 'n stabiele roeteringsbeleid. Om 'n lewende handler tussen bewerkings te verander bly 'n afsonderlike konkurreer- en leeftydprobleem.