CefSharp SetProxyAsync: attendere e verificare prima della navigazione
RequestContext.SetProxyAsync pianifica la preferenza sul thread UI di CEF; il thread UI di WinForms/WPF non è automaticamente quel thread.
Usate il contesto di richiesta inizializzato che serve il browser previsto:
using System;
using CefSharp;
var result = await requestContext.SetProxyAsync(
"http", "proxy.example", 8080);
if (!result.Success)
{
throw new InvalidOperationException(result.ErrorMessage);
}Attendete l'operazione e gestite l'errore prima della navigazione. Per un controllo consentito di un sito pubblico, l'elenco di proxy HTTP fornisce candidati per gli argomenti host e porta HTTP. SetProxyAsync pianifica l'aggiornamento della preferenza sul thread UI di CEF e seleziona fixed_servers.
Se il risultato indica che la preferenza è di sola lettura, controllate i flag proxy della riga di comando; possono impedire questo aggiornamento. Attendere da solo non trasforma una modifica rifiutata in una rotta applicata.
Una chiamata diretta a SetPreference richiede comunque il thread UI di CEF. Nella consueta configurazione a ciclo di messaggi multithread, il thread UI WinForms o WPF dell'applicazione host è un contesto diverso.
I browser che condividono il contesto di richiesta condividono la preferenza. Questo seleziona l'endpoint; un callback di autenticazione separato deve limitare le credenziali alla sfida proxy prevista.