CefSharp SetProxyAsync: espera y verifica antes de navegar
RequestContext.SetProxyAsync programa la preferencia en el hilo de UI de CEF; el hilo de UI de WinForms/WPF no es automáticamente ese hilo.
Use el contexto de solicitud inicializado que atiende al navegador previsto:
using System;
using CefSharp;
var result = await requestContext.SetProxyAsync(
"http", "proxy.example", 8080);
if (!result.Success)
{
throw new InvalidOperationException(result.ErrorMessage);
}Espere la operación y gestione el fallo antes de navegar. Para una comprobación permitida de un sitio público, la lista de proxies HTTP ofrece candidatos para los argumentos de host y puerto HTTP. SetProxyAsync programa la actualización de la preferencia en el hilo de UI de CEF y selecciona fixed_servers.
Si el resultado indica que la preferencia es de solo lectura, revise las opciones de proxy de la línea de comandos; pueden impedir esta actualización. Esperar por sí solo no convierte un cambio rechazado en una ruta aplicada.
Una llamada directa a SetPreference sigue necesitando el hilo de UI de CEF. Con la configuración habitual de bucle de mensajes multiproceso, el hilo de UI de WinForms o WPF de la aplicación anfitriona es un contexto distinto.
Los navegadores que comparten el contexto de solicitud comparten la preferencia. Esto selecciona el punto de conexión; una devolución de llamada de autenticación aparte debe restringir las credenciales al desafío de proxy previsto.