Esta sequência parece explícita, mas no .NET 10 termina sem qualquer credencial de proxy:

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

Na implementação de WebProxy do .NET 10, definir UseDefaultCredentials como false atribui null a Credentials. Defini-lo como true seleciona CredentialCache.DefaultCredentials. As duas propriedades controlam a mesma escolha de conta.

Para uma conta específica de um serviço, atribua a credencial pretendida sem uma redefinição posterior:

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

Se o código de configuração existente tiver de desativar explicitamente as credenciais padrão, faça-o antes de atribuir NetworkCredential. O respetivo getter pode ser false enquanto uma credencial explícita está corretamente presente; false não significa necessariamente que nenhuma conta esteja configurada.

Associe este objeto ao processador que executa o pedido. Para autenticação integrada do Windows, escolha deliberadamente as credenciais padrão, utilizando a identidade aplicável do processo.

Verifique a ordem do inicializador de objetos e os métodos auxiliares para atribuições posteriores que substituam a conta pretendida. Ligue este diagnóstico à implementação de WebProxy em uso; uma propriedade com o mesmo nome num processador HTTP pode reger um âmbito de autenticação diferente.

Artigos relacionados