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

Behåll det returnerade objektet som IWebProxy. Det här utdraget gäller befintlig WebRequest-baserad kod, inte en rekommendation att ta det äldre API:et i bruk i en ny applikation.

WebProxy implementerar gränssnittet, men inte varje objekt som implementerar gränssnittet ärver från WebProxy. En systemwrapper kan därför avvisa castningen innan någon nätverksbegäran sker. Ett privat klassnamn i .NET Framework som WebProxyWrapperOpaque är en implementeringsdetalj, inte ett problem med proxyns slutpunkt eller kontot.

För ett ruttbeslut, anropa IsBypassed(destination) och GetProxy(destination) med den faktiska mål-URI:n. En kringgång kan returnera själva målet, och en PAC-baserad princip kan välja en annan rutt för en annan värd.

För autentisering exponerar IWebProxy redan Credentials. Använd det konto och den metod som stöds utan att casta för att nå egenskapen.

Att extrahera en enda URI för att bygga en ersättnings-WebProxy kastar bort den ursprungliga principens beteende per mål. Gör det bara när en fast slutpunkt är den avsedda applikationskonfigurationen, inte som en kringgång för ett typfel.

Relaterade artiklar