यह क्रम स्पष्ट दिखता है, लेकिन .NET 10 में यह किसी भी प्रॉक्सी क्रेडेंशियल के बिना समाप्त होता है:

proxy.Credentials = new NetworkCredential(proxyUser, proxyPassword);
proxy.UseDefaultCredentials = false;

.NET 10 के WebProxy कार्यान्वयन में, UseDefaultCredentials को false पर सेट करने से Credentials को null असाइन होता है। true पर सेट करने से CredentialCache.DefaultCredentials चुना जाता है। दोनों गुण एक ही खाता चयन नियंत्रित करते हैं।

सेवा-विशिष्ट खाते के लिए, बाद में रीसेट किए बिना इच्छित क्रेडेंशियल असाइन करें:

var proxy = new WebProxy("http://proxy.example.net:8080")
{
    Credentials = new NetworkCredential(proxyUser, proxyPassword)
};

यदि मौजूदा सेटअप कोड को डिफ़ॉल्ट क्रेडेंशियल स्पष्ट रूप से बंद करने हैं, तो NetworkCredential असाइन करने से पहले ऐसा करें। स्पष्ट क्रेडेंशियल सही ढंग से मौजूद होने पर भी इसका getter false हो सकता है; false का अर्थ यह नहीं कि कोई खाता कॉन्फ़िगर ही नहीं है।

इस ऑब्जेक्ट को अनुरोध करने वाले handler से जोड़ें। एकीकृत Windows प्रमाणीकरण के लिए, इसके बजाय प्रक्रिया की लागू पहचान का उपयोग करते हुए जानबूझकर डिफ़ॉल्ट क्रेडेंशियल चुनें।

ऑब्जेक्ट-इनिशियलाइज़र का क्रम और सहायक विधियाँ जाँचें कि इच्छित खाते को बदलने वाले बाद के असाइनमेंट हैं या नहीं। इस निदान को उपयोग किए जा रहे WebProxy कार्यान्वयन से बाँधें; HTTP handler पर समान नाम का गुण भिन्न प्रमाणीकरण क्षेत्र नियंत्रित कर सकता है।

संबंधित लेख