IWebProxy beskriver en proxyregel. Det giver ikke enhver implementering de samme samtidighedsgarantier. Før du deler én instans mellem arbejdsopgaver, skal du identificere dens konkrete implementering og det runtime, den tilhører.

Grænsefladen udstiller destinationsafhængige rutespørgsmål og legitimationsoplysninger. En brugerdefineret implementering kan konsultere en fast adresse, mutabel tilstand eller automatisk konfiguration. Disse valg påvirker både sikkerhed og ydeevne.

Hold konfigurationsændringer ude af anmodningsbehandlingen

Undgå at bruge et delt proxyobjekt som kladde: at ændre dets adresse eller legitimationsoplysninger for opgave A, mens opgave B vælger en rute, gør ejerskabet uklart. Konfigurer en regel, før du giver den til klienten. Til arbejdsbelastninger med forskellige proxykonti eller slutpunkter skal du bruge særskilt ejede klientkonfigurationer.

Historisk WebProxy-dokumentation undlod at give en trådsikkerhedsgaranti for instansmedlemmer. Anvend den kontrakt på den tilsvarende implementering. Hvis der kræves synkronisering, skal hver læser og skriver deltage; en indpakningslås kan ikke koordinere kaldere, der bruger det oprindelige objekt direkte.

En lang pause i GetProxy kan i stedet involvere registrering eller PAC-evaluering. Microsoft dokumenterer blokerende registrering for WinHTTP; den forklaring gælder, når klienten bruger den backend. Mål ruteopslag separat fra forbindelses- og svartid. Serialisering af et langsomt opslag kan blot skabe en kø.

Et fast slutpunkt kan fjerne registrering, når en fast rute er tilsigtet. At indfange én URI fra en skiftende systemregel kasserer også dens fremtidige beslutninger. Bevar denne sondring, når du vedligeholder ældre kode; brug HttpClient og dets understøttede handlerkonfiguration til nyt HTTP-arbejde.

Relaterede artikler