Naudoto .NET HttpClient proxy handlerio keitimas gali nepavykti
Išlaikykite stabilų .NET proxy maršrutizavimą vienu metu vykstant užklausoms, o ne keiskite handlerio savybes po naudojimo.
Sukonfigūruokite .NET handlerio maršrutizavimą prieš pirmąjį naudojimą. Nustačius Proxy arba UseProxy po to, kai užklausos prasidėjo, gali būti išmesta InvalidOperationException.
| Pakeitimas | Ko jis nesuteikia |
|---|---|
| Naudoto handlerio savybės perrašymas | Palaikomo užklausai vietinio maršruto perjungiklio |
Priskirto WebProxy.Address keitimas | Atominio pasirinkimo vienu metu vykstančioms užklausoms arba sujungtų ryšių perkėlimo |
Visuotinės dabartinės reikšmės įdėjimas į IWebProxy | Apibrėžtos lygiagretumo politikos vien perkeliant būseną |
Ribotam maršrutų rinkiniui laikykite su tomis politikomis susietus daugkartinio naudojimo klientus/handlerių grupes ir prieš siųsdami pasirinkite klientą. Pasirinktinis IWebProxy gali priimti sąmoningus, lygiagretumui saugius sprendimus, tačiau kintama bendra laikinoji reikšmė išlieka dviprasmiška.
Apribokite maršruto klientus ir vykdomą darbą pagal paskirties vietas, trukmę, ryšio gyvavimo laiką ir OS limitus. Daugiau maršrutų prideda telkinių/soketų, todėl benchmarko proxy skaičius nėra pajėgumo garantija.
Pakartotinis bandymas per kitą proxy yra dar vienas ribotas bandymas su savo klientu/rezultatu. Pateikiant, išlaikykite galimybę, kad pirmoji užklausa buvo apdorota prieš jai dingstant atsakymui.