Das Ändern eines bereits verwendeten .NET-HttpClient-Proxyhandlers kann fehlschlagen
Halten Sie das .NET-Proxyrouting während gleichzeitiger Anforderungen stabil, statt Handlereigenschaften nach der Verwendung zu ändern.
Konfigurieren Sie das .NET-Handler-Routing vor der ersten Verwendung. Das Setzen von Proxy oder UseProxy, nachdem Anforderungen begonnen haben, kann InvalidOperationException auslösen.
| Änderung | Was sie nicht bietet |
|---|---|
| Eine verwendete Handlereigenschaft umschreiben | Einen unterstützten anforderungslokalen Routenwechsel |
Zugewiesenes WebProxy.Address verändern | Atomare Auswahl für gleichzeitige Anforderungen oder Verschieben gepoolter Verbindungen |
Einen globalen aktuellen Wert in IWebProxy ablegen | Eine definierte Nebenläufigkeitsrichtlinie allein durch Verschieben des Zustands |
Für eine begrenzte Menge von Routen halten Sie wiederverwendbare Clients/Handlergruppen, die diesen Richtlinien zugeordnet sind, und wählen Sie den Client vor dem Senden aus. Ein benutzerdefinierter IWebProxy kann bewusste, nebenläufigkeitssichere Entscheidungen treffen, aber ein veränderlicher gemeinsam genutzter Hilfswert bleibt mehrdeutig.
Begrenzen Sie Routingclients und laufende Arbeit nach Zielen, Dauer, Verbindungslebensdauer und Betriebssystemgrenzen. Mehr Routen fügen Pools/Sockets hinzu, daher ist die Proxyanzahl eines Benchmarks keine Kapazitätsgarantie.
Ein Wiederholungsversuch über einen anderen Proxy ist ein weiterer begrenzter Versuch mit eigenem Client/Ergebnis. Bei Übermittlungen sollten Sie die Möglichkeit einräumen, dass die erste Anforderung verarbeitet wurde, bevor ihre Antwort verschwand.