הרצף הזה נראה מפורש, אך ב-.NET 10 הוא מסתיים בלי שום אישור פרוקסי:

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

במימוש WebProxy של .NET 10, הגדרת UseDefaultCredentials ל-false מקצה null ל-Credentials. הגדרה ל-true בוחרת את CredentialCache.DefaultCredentials. שתי התכונות שולטות באותה בחירת חשבון.

עבור חשבון ייעודי לשירות, הקצו את האישור המיועד בלי איפוס מאוחר יותר:

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

אם קוד ההגדרה הקיים חייב לכבות אישורי ברירת מחדל במפורש, עשו זאת לפני הקצאת NetworkCredential. ה-getter שלו יכול להיות false בעוד אישור מפורש נוכח כראוי; false לא בהכרח אומר שלא הוגדר חשבון.

צרפו אובייקט זה ל-handler שמבצע את הבקשה. לאימות Windows משולב, בחרו במקום זאת במכוון באישורי ברירת מחדל, תוך שימוש בזהות החלה של התהליך.

בדקו את סדר מאתחל האובייקט ואת שיטות העזר לאיתור הקצאות מאוחרות שמחליפות את החשבון המיועד. קשרו את האבחון הזה למימוש ה-WebProxy שבשימוש; תכונה בשם דומה ב-handler של HTTP יכולה לשלוט בהיקף אימות אחר.

מאמרים קשורים