.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 objekat kao IWebProxy. Ovaj isječak se odnosi na postojeći kod zasnovan na WebRequest, a ne na preporuku da taj zastarjeli API koristite u novoj aplikaciji.
WebProxy implementira interfejs, ali ne nasljeđuje svaki objekat koji implementira interfejs od WebProxy. Sistemski omotač stoga može odbiti pretvaranje prije nego što se dogodi bilo kakav mrežni zahtjev. Privatno ime klase .NET Frameworka kao što je WebProxyWrapperOpaque detalj je implementacije, a ne problem s krajnjom tač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 zasnovana na PAC-u može odabrati drugu rutu za drugi host.
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 originalne politike po odredištu. To činite samo kada je fiksna krajnja tačka namjeravana konfiguracija aplikacije, a ne kao zaobilazno rješenje za grešku tipa.