CefSharp SetProxyAsync: vänta och kontrollera före navigering
RequestContext.SetProxyAsync schemalägger inställningen på CEF:s UI-tråd; WinForms/WPF UI-tråden är inte automatiskt den tråden.
Använd den initierade begärandekontexten som betjänar den avsedda webbläsaren:
using System;
using CefSharp;
var result = await requestContext.SetProxyAsync(
"http", "proxy.example", 8080);
if (!result.Success)
{
throw new InvalidOperationException(result.ErrorMessage);
}Vänta på åtgärden och hantera fel före navigering. För en tillåten kontroll av en offentlig webbplats levererar HTTP-proxylistan kandidater för HTTP-värd- och portargumenten. SetProxyAsync schemalägger uppdateringen av inställningen på CEF UI-tråden och väljer fixed_servers.
Om resultatet rapporterar att inställningen är skrivskyddad, undersök proxy-flaggorna på kommandoraden; de kan förhindra denna uppdatering. Att bara vänta gör inte en avvisad ändring till en tillämpad rutt.
Ett direkt SetPreference-anrop kräver fortfarande CEF:s UI-tråd. Under den vanliga flertrådade meddelandelooppen är värdprogrammets WinForms- eller WPF-UI-tråd en annan kontext.
Webbläsare som delar begärandekontexten delar inställningen. Detta väljer slutpunkten; en separat autentiserings-callback måste begränsa autentiseringsuppgifterna till den avsedda proxy-utmaningen.