.NET IWebProxy: iwasan ang pag-cast ng mga system proxy sa WebProxy
Pangasiwaan ang system proxy na ibinalik bilang IWebProxy nang hindi ipinapalagay na ang konkretong klase nito ay WebProxy.
IWebProxy policy = WebRequest.GetSystemWebProxy();
request.Proxy = policy;
Panatilihin ang ibinalik na object bilang IWebProxy. Naaangkop ang bahaging ito sa umiiral na code na nakabatay sa WebRequest, hindi ito rekomendasyon na gamitin ang lumang API na iyon sa bagong aplikasyon.
Ipinapatupad ng WebProxy ang interface, ngunit hindi lahat ng object na nagpapatupad ng interface ay nagmamana mula sa WebProxy. Kaya maaaring tanggihan ng system wrapper ang pag-cast bago pa maganap ang anumang kahilingan sa network. Ang pribadong pangalan ng klase sa .NET Framework tulad ng WebProxyWrapperOpaque ay detalye ng pagpapatupad, hindi problema sa endpoint ng proxy o account.
Para sa desisyon sa ruta, tawagin ang IsBypassed(destination) at GetProxy(destination) gamit ang tunay na URI ng destinasyon. Maaaring ibalik ng bypass ang destinasyong iyon mismo, at ang patakarang nakabatay sa PAC ay maaaring pumili ng ibang ruta para sa ibang host.
Para sa authentication, inilalantad na ng IWebProxy ang Credentials. Gamitin ang sinusuportahang account at pamamaraan nang walang pag-cast upang maabot ang property.
Ang pagkuha ng isang URI upang bumuo ng kapalit na WebProxy ay nagtatapon ng pag-uugali ng orihinal na patakaran sa bawat destinasyon. Gawin ito lamang kapag ang nakapirming endpoint ang nilalayong configuration ng aplikasyon, hindi bilang solusyon sa error sa uri.