.NET IWebProxy: unngå å caste systemproksyar til WebProxy
Handter ein systemproksy som blir returnert som IWebProxy, utan å anta at den konkrete klassen er WebProxy.
IWebProxy policy = WebRequest.GetSystemWebProxy();
request.Proxy = policy;
Hald på det returnerte objektet som IWebProxy. Dette utdraget gjeld eksisterande WebRequest-basert kode, ikkje ei tilråding om å ta i bruk det eldre API-et i ein ny applikasjon.
WebProxy implementerer grensesnittet, men ikkje alle objekt som implementerer grensesnittet, arvar frå WebProxy. Ein systeminnpakning kan difor avvise casten før nokon nettverksførespurnad oppstår. Eit privat .NET Framework-klassenamn som WebProxyWrapperOpaque er ein implementasjonsdetalj, ikkje eit problem med proksy-endepunktet eller kontoen.
For ei ruteavgjerd, kall IsBypassed(destination) og GetProxy(destination) med den faktiske destinasjons-URI-en. Ei omgåing kan returnere sjølve destinasjonen, og ein PAC-basert policy kan velje ei anna rute for ein annan vert.
For autentisering eksponerer IWebProxy allereie Credentials. Bruk den støtta kontoen og metoden utan å caste for å nå eigenskapen.
Å trekkje ut éin URI for å byggje ein erstatnings-WebProxy kastar bort åtførsla til den opphavlege policyen per destinasjon. Gjer det berre når eit fast endepunkt er den tiltenkte applikasjonskonfigurasjonen, ikkje som ein omveg rundt ein typefeil.