.NET IWebProxy: izbjegnite pretvaranje sistemskih proxyja u WebProxy
Obrađujte sistemski proxy vraćen kao IWebProxy bez pretpostavke da je njegova konkretna klasa WebProxy.
IWebProxy policy = WebRequest.GetSystemWebProxy();
request.Proxy = policy;
Zadržite vraćeni objekt kao IWebProxy. Ovaj se ulomak odnosi na postojeći kod utemeljen na WebRequestu, a ne na preporuku da taj zastarjeli API koristite u novoj aplikaciji.
WebProxy implementira sučelje, ali ne nasljeđuje svaki objekt koji implementira sučelje od WebProxyja. Sistemski omotač stoga može odbiti pretvorbu prije nego što se dogodi ikakav mrežni zahtjev. Privatno ime klase .NET Frameworka poput WebProxyWrapperOpaque pojedinost je implementacije, a ne problem s krajnjom točkom proxyja ili računom.
Za odluku o ruti pozovite IsBypassed(destination) i GetProxy(destination) sa stvarnim URI-jem odredišta. Zaobilaženje može vratiti samo to odredište, a politika utemeljena na PAC-u može odabrati drugu rutu za drugog hosta.
Za provjeru identiteta IWebProxy već izlaže Credentials. Koristite podržani račun i metodu bez pretvaranja da biste došli do svojstva.
Izdvajanje jednog URI-ja za izgradnju zamjenskog WebProxyja odbacuje ponašanje izvorne politike po odredištu. To činite samo kada je fiksna krajnja točka namjeravana konfiguracija aplikacije, a ne kao zaobilazno rješenje za pogrešku tipa.