.NET IWebProxy: избегните претварање системских проксија у WebProxy
Обрађујте системски прокси враћен као IWebProxy без претпоставке да је његова конкретна класа WebProxy.
IWebProxy policy = WebRequest.GetSystemWebProxy();
request.Proxy = policy;
Задржите враћени објекат као IWebProxy. Овај исечак се односи на постојећи код заснован на WebRequest-у, а не на препоруку да тај застарели API користите у новој апликацији.
WebProxy имплементира интерфејс, али не наслеђује сваки објекат који имплементира интерфејс од WebProxy-ја. Системски омотач стога може одбити претварање пре него што се догоди било какав мрежни захтев. Приватно име класе .NET Framework-а као што је WebProxyWrapperOpaque детаљ је имплементације, а не проблем са крајњом тачком проксија или налогом.
За одлуку о рути позовите IsBypassed(destination) и GetProxy(destination) са стварним URI-јем одредишта. Заобилажење може вратити само то одредиште, а политика заснована на PAC-у може одабрати другу руту за други хост.
За проверу идентитета IWebProxy већ излаже Credentials. Користите подржани налог и методу без претварања да бисте дошли до својства.
Издвајање једног URI-ја за изградњу заменског WebProxy-ја одбацује понашање изворне политике по одредишту. То чините само када је фиксна крајња тачка намеравана конфигурација апликације, а не као заобилазно решење за грешку типа.