.NET IWebProxy. խուսափեք համակարգային պրոքսիները WebProxy-ի ձևափոխելուց
Մշակեք IWebProxy-ով վերադարձված համակարգային պրոքսին՝ չենթադրելով, որ նրա կոնկրետ դասը WebProxy է։
IWebProxy policy = WebRequest.GetSystemWebProxy();
request.Proxy = policy;
Պահեք վերադարձված օբյեկտը որպես IWebProxy։ Այս հատվածը վերաբերում է գոյություն ունեցող WebRequest-ի վրա հիմնված կոդին, ոչ թե խորհուրդ է նոր ծրագրում օգտագործել այդ հնացած API-ն։
WebProxy իրականացնում է ինտերֆեյսը, սակայն ինտերֆեյսն իրականացնող ամեն օբյեկտ չէ, որ ժառանգում է WebProxy-ից։ Հետևաբար համակարգային փաթաթան կարող է մերժել ձևափոխումը նախքան ցանցային որևէ հարցում տեղի ունենալը։ WebProxyWrapperOpaque-ի նման .NET Framework-ի մասնավոր դասի անունը իրականացման մանրամասնություն է, ոչ թե պրոքսի վերջնակետի կամ հաշվի խնդիր։
Երթուղու որոշման համար կանչեք IsBypassed(destination) և GetProxy(destination)՝ նպատակակետի իրական URI-ով։ Շրջանցումը կարող է վերադարձնել հենց այդ նպատակակետը, իսկ PAC-ի վրա հիմնված քաղաքականությունը կարող է այլ ուղի ընտրել այլ հոսթի համար։
Նույնականացման համար IWebProxy արդեն տրամադրում է Credentials։ Օգտագործեք աջակցվող հաշիվն ու մեթոդը առանց ձևափոխելու՝ հատկությանը հասնելու համար։
Մեկ URI հանելը՝ փոխարինող WebProxy կառուցելու համար, դեն է նետում սկզբնական քաղաքականության յուրաքանչյուր նպատակակետի վարքը։ Դա արեք միայն այն դեպքում, երբ ֆիքսված վերջնակետը ծրագրի նախատեսված կարգավորումն է, այլ ոչ թե տիպի սխալի լուծում։