IWebProxy beschreibt eine Proxyrichtlinie. Sie gibt nicht jeder Implementierung dieselben Nebenläufigkeitsgarantien. Bevor Sie eine Instanz zwischen Worker-Aufgaben teilen, ermitteln Sie ihre konkrete Implementierung und die Laufzeit, zu der sie gehört.

Die Schnittstelle stellt zielabhängige Routenabfragen und Anmeldeinformationen bereit. Eine benutzerdefinierte Implementierung kann eine feste Adresse, veränderlichen Zustand oder automatische Konfiguration heranziehen. Diese Entscheidungen wirken sich sowohl auf die Sicherheit als auch auf die Leistung aus.

Halten Sie Konfigurationsänderungen aus der Anforderungsverarbeitung heraus

Vermeiden Sie es, ein gemeinsames Proxyobjekt als Notizzettel zu verwenden: Adresse oder Anmeldeinformationen für Auftrag A zu ändern, während Auftrag B eine Route auswählt, macht die Zuständigkeit unklar. Konfigurieren Sie eine Richtlinie, bevor Sie sie dem Client übergeben. Für Arbeitslasten mit unterschiedlichen Proxykonten oder Endpunkten verwenden Sie getrennt gehaltene Clientkonfigurationen.

Die historische WebProxy-Dokumentation enthielt keine Threadsicherheitsgarantie für Instanzmember. Wenden Sie diesen Vertrag auf die entsprechende Implementierung an. Wenn Synchronisierung erforderlich ist, müssen alle Leser und Schreiber teilnehmen; eine Wrapper-Sperre kann Aufrufer nicht koordinieren, die das Originalobjekt direkt verwenden.

Eine lange Pause in GetProxy kann stattdessen Erkennung oder PAC-Auswertung betreffen. Microsoft dokumentiert blockierende Erkennung für WinHTTP; diese Erklärung gilt, wenn der Client dieses Backend verwendet. Messen Sie die Routensuche getrennt von Verbindungs- und Antwortzeit. Das Serialisieren einer langsamen Suche kann lediglich eine Warteschlange erzeugen.

Ein fester Endpunkt kann die Erkennung entfernen, wenn eine feste Route beabsichtigt ist. Das Festhalten einer einzelnen URI aus einer sich ändernden Systemrichtlinie verwirft zudem ihre künftigen Entscheidungen. Bewahren Sie diese Unterscheidung bei der Wartung von Altcode; verwenden Sie HttpClient und seine unterstützte Handlerkonfiguration für neue HTTP-Arbeit.

Ähnliche Artikel