.NET IWebProxy: venkite sisteminių tarpinių serverių konvertavimo į WebProxy
Tvarkykite sisteminį tarpinį serverį, grąžintą kaip IWebProxy, nedarydami prielaidos, kad jo konkreti klasė yra WebProxy.
IWebProxy policy = WebRequest.GetSystemWebProxy();
request.Proxy = policy;
Išsaugokite grąžintą objektą kaip IWebProxy. Šis fragmentas taikomas esamam WebRequest pagrindu veikiančiam kodui, o ne rekomendacija priimti tą pasenusį API naujoje programoje.
WebProxy įgyvendina sąsają, bet ne kiekvienas sąsają įgyvendinantis objektas paveldi iš WebProxy. Todėl sistemos apvalkalas gali atmesti konvertavimą dar prieš įvykstant bet kokiai tinklo užklausai. Privatus .NET Framework klasės pavadinimas, pavyzdžiui, WebProxyWrapperOpaque, yra įgyvendinimo detalė, o ne tarpinio serverio galinio taško ar paskyros problema.
Maršruto sprendimui iškvieskite IsBypassed(destination) ir GetProxy(destination) su tikruoju paskirties URI. Apeinimas gali grąžinti pačią paskirtį, o PAC pagrindu veikianti politika gali pasirinkti kitą maršrutą kitam kompiuteriui.
Autentifikacijai IWebProxy jau atskleidžia Credentials. Naudokite palaikomą paskyrą ir metodą be konvertavimo, kad pasiektumėte savybę.
Vieno URI išgavimas, norint sukurti pakaitinį WebProxy, atmeta pradinės politikos elgesį pagal kiekvieną paskirtį. Darykite tai tik tada, kai fiksuotas galinis taškas yra numatyta programos konfigūracija, o ne tipo klaidos apeinamasis sprendimas.