IWebProxy policy = WebRequest.GetSystemWebProxy();
request.Proxy = policy;

Behalten Sie das zurückgegebene Objekt als IWebProxy. Dieses Fragment gilt für vorhandenen Code auf WebRequest-Basis, es ist keine Empfehlung, diese veraltete API in einer neuen Anwendung zu übernehmen.

WebProxy implementiert die Schnittstelle, aber nicht jedes Objekt, das die Schnittstelle implementiert, erbt von WebProxy. Ein Systemwrapper kann die Umwandlung daher ablehnen, bevor überhaupt eine Netzwerkanfrage erfolgt. Ein privater .NET Framework-Klassenname wie WebProxyWrapperOpaque ist ein Implementierungsdetail, kein Problem des Proxy-Endpunkts oder des Kontos.

Rufen Sie für eine Routingentscheidung IsBypassed(destination) und GetProxy(destination) mit dem tatsächlichen Ziel-URI auf. Eine Umgehung kann das Ziel selbst zurückgeben, und eine PAC-gestützte Richtlinie kann für einen anderen Host eine andere Route wählen.

Für die Authentifizierung stellt IWebProxy bereits Credentials bereit. Verwenden Sie das unterstützte Konto und die unterstützte Methode, ohne zu casten, um auf die Eigenschaft zuzugreifen.

Ein einzelnes URI herauszuziehen, um einen Ersatz-WebProxy zu bauen, verwirft das Verhalten der ursprünglichen Richtlinie pro Ziel. Tun Sie das nur, wenn ein fester Endpunkt die beabsichtigte Anwendungskonfiguration ist, nicht als Workaround für einen Typfehler.

Ähnliche Artikel