Táto postupnosť vyzerá explicitne, ale v .NET 10 končí bez akýchkoľvek poverení proxy:

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

V implementácii WebProxy v .NET 10 priradenie UseDefaultCredentials na false priradí do Credentials hodnotu null. Priradenie na true vyberie CredentialCache.DefaultCredentials. Obe vlastnosti riadia rovnakú voľbu účtu.

Pre účet špecifický pre službu priraďte zamýšľané poverenia bez neskoršieho zrušenia:

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

Ak existujúci kód nastavenia musí explicitne vypnúť predvolené poverenia, urobte to pred priradením NetworkCredential. Jeho getter môže byť false, aj keď sú explicitné poverenia správne prítomné; false neznamená nevyhnutne, že nie je nakonfigurovaný žiadny účet.

Pripojte tento objekt k obslužnej rutine, ktorá vykonáva požiadavku. Pre integrované overovanie Windows namiesto toho zámerne zvoľte predvolené poverenia s použitím príslušnej identity procesu.

Skontrolujte poradie inicializátora objektu a pomocné metódy na neskoršie priradenia, ktoré nahrádzajú zamýšľaný účet. Prepojte túto diagnostiku s používanou implementáciou WebProxy; rovnomenná vlastnosť na obslužnej rutine HTTP môže riadiť iný rozsah overovania.

Súvisiace články