Modificarea unui handler de proxy .NET HttpClient deja folosit poate eșua
Păstrați stabilă rutarea proxy în .NET în timpul cererilor concurente în loc să modificați proprietățile handlerului după utilizare.
Configurați rutarea handlerului .NET înainte de prima utilizare. Setarea Proxy sau UseProxy după ce cererile au început poate arunca InvalidOperationException.
| Modificare | Ce nu oferă |
|---|---|
| Rescrierea unei proprietăți a handlerului folosit | Un comutator de rută local cererii acceptat |
Modificarea WebProxy.Address atribuit | Selecție atomică pentru cereri concurente sau mutarea conexiunilor grupate |
Plasarea unei valori curente globale în IWebProxy | O politică de concurență definită doar prin mutarea stării |
Pentru un set limitat de rute, păstrați clienți/grupuri de handlere reutilizabile asociate acelor politici și selectați clientul înainte de trimitere. Un IWebProxy personalizat poate lua decizii deliberate și sigure pentru concurență, dar o valoare de lucru partajată mutabilă rămâne ambiguă.
Limitați clienții de rută și munca în curs după destinații, durată, durata de viață a conexiunii și limitele sistemului de operare. Mai multe rute adaugă pool-uri/socket-uri, așa că numărul de proxy-uri dintr-un benchmark nu este o garanție de capacitate.
O reîncercare prin alt proxy este o altă încercare limitată cu propriul client/rezultat. Pentru trimiteri, păstrați posibilitatea ca prima cerere să fi fost procesată înainte ca răspunsul ei să dispară.