Ця послідовність виглядає явною, але в .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 не обов'язково означає, що обліковий запис не налаштовано.

Приєднайте цей об'єкт до обробника, який виконує запит. Для вбудованої автентифікації Windows натомість свідомо виберіть облікові дані за замовчуванням, використовуючи застосовну ідентичність процесу.

Перевірте порядок ініціалізатора об'єкта та допоміжні методи щодо подальших призначень, які замінюють потрібний обліковий запис. Прив'яжіть цю діагностику до використовуваної реалізації WebProxy; однойменна властивість в обробнику HTTP може керувати іншою областю автентифікації.

Схожі статті