Cette séquence semble explicite, mais dans .NET 10 elle se termine sans aucune information d'identification de proxy :

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

Dans l'implémentation WebProxy de .NET 10, affecter false à UseDefaultCredentials affecte null à Credentials. L'affecter à true sélectionne CredentialCache.DefaultCredentials. Les deux propriétés contrôlent le même choix de compte.

Pour un compte propre à un service, affectez les informations d'identification prévues sans réinitialisation ultérieure :

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

Si le code de configuration existant doit désactiver explicitement les informations d'identification par défaut, faites-le avant d'affecter NetworkCredential. Son getter peut être false alors qu'une information d'identification explicite est bien présente ; false ne signifie pas nécessairement qu'aucun compte n'est configuré.

Attachez cet objet au gestionnaire qui exécute la requête. Pour l'authentification Windows intégrée, choisissez plutôt délibérément les informations d'identification par défaut, en utilisant l'identité applicable du processus.

Vérifiez l'ordre de l'initialiseur d'objet et les méthodes auxiliaires pour détecter des affectations ultérieures qui remplacent le compte prévu. Liez ce diagnostic à l'implémentation WebProxy utilisée ; une propriété de même nom sur un gestionnaire HTTP peut régir une autre portée d'authentification.

Articles similaires