WebProxy.UseDefaultCredentials poate reseta o acreditare explicită
Evitați resetarea unui cont de proxy .NET explicit prin atribuirea UseDefaultCredentials ulterior.
Această secvență pare explicită, dar în .NET 10 se termină fără nicio acreditare de proxy:
proxy.Credentials = new NetworkCredential(proxyUser, proxyPassword);
proxy.UseDefaultCredentials = false;
În implementarea WebProxy din .NET 10, setarea UseDefaultCredentials la false atribuie null pentru Credentials. Setarea la true selectează CredentialCache.DefaultCredentials. Cele două proprietăți controlează aceeași alegere a contului.
Pentru un cont specific unui serviciu, atribuiți acreditarea dorită fără o resetare ulterioară:
var proxy = new WebProxy("http://proxy.example.net:8080")
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};
Dacă codul de configurare existent trebuie să dezactiveze explicit acreditările implicite, faceți acest lucru înainte de a atribui NetworkCredential. Getter-ul acestuia poate fi false în timp ce o acreditare explicită este corect prezentă; false nu înseamnă neapărat că nu este configurat niciun cont.
Atașați acest obiect handler-ului care execută cererea. Pentru autentificarea Windows integrată, alegeți în schimb în mod deliberat acreditările implicite, folosind identitatea aplicabilă a procesului.
Verificați ordinea inițializatorului de obiecte și metodele ajutătoare pentru atribuiri ulterioare care înlocuiesc contul dorit. Legați acest diagnostic de implementarea WebProxy utilizată; o proprietate cu același nume pe un handler HTTP poate guverna un domeniu de autentificare diferit.