Den här sekvensen ser explicit ut, men i .NET 10 slutar den utan några proxyautentiseringsuppgifter:

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

I WebProxy-implementeringen i .NET 10 tilldelar det null till Credentials att sätta UseDefaultCredentials till false. Att sätta det till true väljer CredentialCache.DefaultCredentials. De två egenskaperna styr samma kontoval.

För ett tjänstespecifikt konto, tilldela den avsedda autentiseringsuppgiften utan en senare återställning:

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

Om befintlig installationskod uttryckligen måste stänga av standardautentiseringsuppgifter, gör det innan du tilldelar NetworkCredential. Dess getter kan vara false medan en explicit autentiseringsuppgift är korrekt närvarande; false betyder inte nödvändigtvis att inget konto är konfigurerat.

Koppla det här objektet till hanteraren som utför begäran. För integrerad Windows-autentisering väljer du i stället medvetet standardautentiseringsuppgifterna, med processens tillämpliga identitet.

Kontrollera ordningen i objektinitieraren och hjälpmetoderna för senare tilldelningar som ersätter det avsedda kontot. Bind den här diagnostiken till den WebProxy-implementering som används; en egenskap med samma namn på en HTTP-hanterare kan styra ett annat autentiseringsområde.

Relaterade artiklar