.NET IWebProxy: izvairieties no sistēmas starpniekserveru pārveidošanas par WebProxy
Apstrādājiet sistēmas starpniekserveri, kas atgriezts kā IWebProxy, nepieņemot, ka tā konkrētā klase ir WebProxy.
IWebProxy policy = WebRequest.GetSystemWebProxy();
request.Proxy = policy;
Saglabājiet atgriezto objektu kā IWebProxy. Šis fragments attiecas uz esošu kodu, kas balstīts uz WebRequest, nevis ir ieteikums ieviest šo novecojušo API jaunā lietojumprogrammā.
WebProxy ievieš saskarni, bet ne katrs saskarni ieviešošais objekts manto no WebProxy. Tāpēc sistēmas ietvars var noraidīt pārveidošanu pirms jebkura tīkla pieprasījuma. Privāts .NET Framework klases nosaukums, piemēram, WebProxyWrapperOpaque, ir ieviešanas detaļa, nevis starpniekservera galapunkta vai konta problēma.
Maršruta lēmumam izsauciet IsBypassed(destination) un GetProxy(destination) ar faktisko galamērķa URI. Apiešana var atgriezt pašu galamērķi, un uz PAC balstīta politika var izvēlēties citu maršrutu citam resursdatoram.
Autentifikācijai IWebProxy jau atklāj Credentials. Izmantojiet atbalstīto kontu un metodi bez pārveidošanas, lai piekļūtu īpašībai.
Viena URI izvilkšana, lai izveidotu aizvietojošu WebProxy, atmet sākotnējās politikas uzvedību katram galamērķim. Dariet to tikai tad, ja fiksēts galapunkts ir paredzētā lietojumprogrammas konfigurācija, nevis tipa kļūdas apiešanas risinājums.