WebProxy.UseDefaultCredentials kan tilbakestille en eksplisitt legitimasjon
Unngå å tilbakestille en eksplisitt .NET-proxykonto ved å tildele UseDefaultCredentials etterpå.
Denne sekvensen ser eksplisitt ut, men i .NET 10 ender den uten noen proxy-legitimasjon:
proxy.Credentials = new NetworkCredential(proxyUser, proxyPassword);
proxy.UseDefaultCredentials = false;
I WebProxy-implementasjonen i .NET 10 tildeler det null til Credentials å sette UseDefaultCredentials til false. Å sette det til true velger CredentialCache.DefaultCredentials. De to egenskapene styrer det samme kontovalget.
For en tjenestespesifikk konto tildeler du den tiltenkte legitimasjonen uten en senere tilbakestilling:
var proxy = new WebProxy("http://proxy.example.net:8080")
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};
Hvis eksisterende oppsettkode eksplisitt må slå av standardlegitimasjon, gjør det før du tildeler NetworkCredential. Getteren kan være false mens en eksplisitt legitimasjon er korrekt til stede; false betyr ikke nødvendigvis at ingen konto er konfigurert.
Knytt dette objektet til handleren som utfører forespørselen. For integrert Windows-autentisering velger du i stedet bevisst standardlegitimasjon, ved å bruke prosessens gjeldende identitet.
Kontroller rekkefølgen i objektinitialisereren og hjelpemetodene for senere tildelinger som erstatter den tiltenkte kontoen. Bind denne diagnosen til WebProxy-implementasjonen som brukes; en egenskap med samme navn på en HTTP-handler kan styre et annet autentiseringsområde.