CefSharp SetProxyAsync: vent og kontroller før navigering
RequestContext.SetProxyAsync planlegger innstillingen på CEFs UI-tråd; WinForms/WPF-UI-tråden er ikke automatisk den tråden.
Bruk den initialiserte forespørselskonteksten som betjener den tiltenkte nettleseren:
using System;
using CefSharp;
var result = await requestContext.SetProxyAsync(
"http", "proxy.example", 8080);
if (!result.Success)
{
throw new InvalidOperationException(result.ErrorMessage);
}Vent på operasjonen og håndter feil før navigering. For en tillatt kontroll av et offentlig nettsted leverer HTTP-proxylisten kandidater for HTTP-vert- og portargumentene. SetProxyAsync planlegger oppdateringen av innstillingen på CEF-UI-tråden og velger fixed_servers.
Hvis resultatet rapporterer at innstillingen er skrivebeskyttet, undersøk proxy-flaggene på kommandolinjen; de kan hindre denne oppdateringen. Bare å vente gjør ikke en avvist endring om til en anvendt rute.
Et direkte SetPreference-kall krever fortsatt CEFs UI-tråd. Under det vanlige flertrådede oppsettet med meldingsløkke er vertsapplikasjonens WinForms- eller WPF-UI-tråd en annen kontekst.
Nettlesere som deler forespørselskonteksten, deler innstillingen. Dette velger endepunktet; en separat autentiserings-callback må begrense legitimasjonen til den tiltenkte proxy-utfordringen.