CefSharp SetProxyAsync: afvent og kontroller før navigation
RequestContext.SetProxyAsync planlægger indstillingen på CEF's UI-tråd; WinForms/WPF-UI-tråden er ikke automatisk den tråd.
Brug den initialiserede anmodningskontekst, der betjener den påtænkte browser:
using System;
using CefSharp;
var result = await requestContext.SetProxyAsync(
"http", "proxy.example", 8080);
if (!result.Success)
{
throw new InvalidOperationException(result.ErrorMessage);
}Afvent handlingen, og håndtér fejl før navigation. Til et tilladt tjek af et offentligt websted leverer HTTP-proxylisten kandidater til HTTP-vært- og portargumenterne. SetProxyAsync planlægger opdateringen af indstillingen på CEF-UI-tråden og vælger fixed_servers.
Hvis resultatet rapporterer, at indstillingen er skrivebeskyttet, skal du undersøge proxy-kommandolinjeflag; de kan forhindre denne opdatering. Det hjælper ikke blot at afvente, hvis ændringen afvises.
Et direkte SetPreference-kald kræver stadig CEF's UI-tråd. Under det sædvanlige flertrådede opsætning med meddelelsesløkke er værtsapplikationens WinForms- eller WPF-UI-tråd en anden kontekst.
Browsere, der deler anmodningskonteksten, deler indstillingen. Dette vælger endepunktet; et separat godkendelses-callback skal begrænse legitimationsoplysninger til den påtænkte proxy-udfordring.