Questa sequenza sembra esplicita, ma in .NET 10 termina senza alcuna credenziale del proxy:

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

Nell'implementazione WebProxy di .NET 10, impostare UseDefaultCredentials su false assegna null a Credentials. Impostarlo su true seleziona CredentialCache.DefaultCredentials. Le due proprietà controllano la stessa scelta dell'account.

Per un account specifico di un servizio, assegnare la credenziale prevista senza una reimpostazione successiva:

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

Se il codice di configurazione esistente deve disattivare esplicitamente le credenziali predefinite, farlo prima di assegnare NetworkCredential. Il suo getter può essere false mentre una credenziale esplicita è correttamente presente; false non significa necessariamente che nessun account sia configurato.

Collegare questo oggetto al gestore che esegue la richiesta. Per l'autenticazione integrata di Windows, scegliere invece deliberatamente le credenziali predefinite, usando l'identità applicabile del processo.

Controllare l'ordine dell'inizializzatore dell'oggetto e i metodi ausiliari per eventuali assegnazioni successive che sostituiscono l'account previsto. Collegare questa diagnosi all'implementazione WebProxy in uso; una proprietà con lo stesso nome su un gestore HTTP può governare un ambito di autenticazione diverso.

Articoli correlati