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.

Articole similare