.NET IWebProxy: vältä järjestelmän välityspalvelinten castaamista WebProxyksi
Käsittele IWebProxyna palautettua järjestelmän välityspalvelinta olettamatta, että sen konkreettinen luokka on WebProxy.
IWebProxy policy = WebRequest.GetSystemWebProxy();
request.Proxy = policy;
Pidä palautettu olio IWebProxy-tyyppisenä. Tämä katkelma koskee olemassa olevaa WebRequest-pohjaista koodia, ei suositusta ottaa tätä vanhentunutta APIa käyttöön uudessa sovelluksessa.
WebProxy toteuttaa rajapinnan, mutta kaikki rajapinnan toteuttavat oliot eivät periydy WebProxysta. Järjestelmän kääre voi siis hylätä castauksen ennen kuin yhtään verkkopyyntöä tapahtuu. Yksityinen .NET Frameworkin luokan nimi, kuten WebProxyWrapperOpaque, on toteutuksen yksityiskohta, ei välityspalvelimen päätepisteen tai tilin ongelma.
Reittipäätöstä varten kutsu IsBypassed(destination) ja GetProxy(destination) todellisella kohde-URIlla. Ohitus voi palauttaa kyseisen kohteen itsensä, ja PAC-pohjainen käytäntö voi valita toisen reitin toiselle isäntäkoneelle.
Todennuksessa IWebProxy paljastaa jo Credentials. Käytä tuettua tiliä ja menetelmää castaamatta päästäksesi ominaisuuteen.
Yhden URI:n poimiminen korvaavan WebProxyn rakentamiseksi hylkää alkuperäisen käytännön kohdekohtaisen toiminnan. Tee niin vain, kun kiinteä päätepiste on sovelluksen tarkoitettu kokoonpano, ei tyyppivirheen kiertotienä.