.NET IWebProxy: సిస్టమ్ ప్రాక్సీలను WebProxy గా కాస్ట్ చేయడం మానుకోండి
IWebProxy గా తిరిగి ఇవ్వబడిన సిస్టమ్ ప్రాక్సీని దాని నిర్దిష్ట క్లాస్ WebProxy అని ఊహించకుండా నిర్వహించండి.
IWebProxy policy = WebRequest.GetSystemWebProxy();
request.Proxy = policy;
తిరిగి ఇవ్వబడిన ఆబ్జెక్ట్ను IWebProxy గానే ఉంచండి. ఈ భాగం WebRequest ఆధారిత ఇప్పటికే ఉన్న కోడ్కు వర్తిస్తుంది, కొత్త అప్లికేషన్లో ఆ పాత APIని స్వీకరించమని సిఫారసు కాదు.
WebProxy ఇంటర్ఫేస్ను అమలు చేస్తుంది, కానీ ఇంటర్ఫేస్ను అమలు చేసే ప్రతి ఆబ్జెక్ట్ WebProxy నుండి వారసత్వం పొందదు. అందువల్ల సిస్టమ్ ర్యాపర్ ఏదైనా నెట్వర్క్ అభ్యర్థన జరగకముందే కాస్ట్ను తిరస్కరించవచ్చు. WebProxyWrapperOpaque వంటి ప్రైవేట్ .NET Framework క్లాస్ పేరు అమలు వివరం, ప్రాక్సీ ఎండ్పాయింట్ లేదా ఖాతా సమస్య కాదు.
రూట్ నిర్ణయం కోసం నిజమైన గమ్యస్థాన URI తో IsBypassed(destination) మరియు GetProxy(destination) లను పిలవండి. బైపాస్ ఆ గమ్యస్థానాన్నే తిరిగి ఇవ్వవచ్చు, మరియు PAC ఆధారిత విధానం మరొక హోస్ట్ కోసం మరొక మార్గాన్ని ఎంచుకోవచ్చు.
ప్రమాణీకరణ కోసం IWebProxy ఇప్పటికే Credentials ను బహిర్గతం చేస్తుంది. లక్షణాన్ని చేరుకోవడానికి కాస్ట్ చేయకుండా మద్దతు ఉన్న ఖాతా మరియు పద్ధతిని ఉపయోగించండి.
ప్రత్యామ్నాయ WebProxy నిర్మించడానికి ఒక URIని తీసేయడం అసలు విధానం యొక్క ప్రతి-గమ్యస్థాన ప్రవర్తనను వదిలివేస్తుంది. స్థిర ఎండ్పాయింట్ ఉద్దేశించిన అప్లికేషన్ కాన్ఫిగరేషన్ అయినప్పుడే ఇలా చేయండి, రకం-లోపానికి పరిష్కారంగా కాదు.