CefSharp SetProxyAsync: aguarde e verifique antes da navegação
RequestContext.SetProxyAsync agenda a preferência na thread de UI do CEF; a thread de UI do WinForms/WPF não é automaticamente essa thread.
Use o contexto de solicitação inicializado que atende ao navegador pretendido:
using System;
using CefSharp;
var result = await requestContext.SetProxyAsync(
"http", "proxy.example", 8080);
if (!result.Success)
{
throw new InvalidOperationException(result.ErrorMessage);
}Aguarde a operação e trate a falha antes da navegação. Para uma verificação permitida de um site público, a lista de proxies HTTP fornece candidatos para os argumentos de host e porta HTTP. SetProxyAsync agenda a atualização da preferência na thread de UI do CEF e seleciona fixed_servers.
Se o resultado indicar que a preferência é somente leitura, inspecione os sinalizadores de proxy da linha de comando; eles podem impedir esta atualização. Apenas aguardar não transforma uma alteração rejeitada em rota aplicada.
Uma chamada direta a SetPreference ainda exige a thread de UI do CEF. Na configuração habitual de loop de mensagens multithread, a thread de UI WinForms ou WPF do aplicativo host é um contexto diferente.
Navegadores que compartilham o contexto de solicitação compartilham a preferência. Isso seleciona o endpoint; um callback de autenticação separado deve restringir as credenciais ao desafio de proxy pretendido.