CefSharp SetProxyAsync: wacht en controleer vóór navigatie
RequestContext.SetProxyAsync plant de voorkeur op de UI-thread van CEF; de WinForms/WPF UI-thread is niet automatisch die thread.
Gebruik de geïnitialiseerde aanvraagcontext die de bedoelde browser bedient:
using System;
using CefSharp;
var result = await requestContext.SetProxyAsync(
"http", "proxy.example", 8080);
if (!result.Success)
{
throw new InvalidOperationException(result.ErrorMessage);
}Wacht op de bewerking en behandel fouten vóór navigatie. Voor een toegestane controle van een openbare site levert de HTTP-proxylijst kandidaten voor de argumenten HTTP-host en -poort. SetProxyAsync plant de update van de voorkeur op de CEF UI-thread en selecteert fixed_servers.
Meldt het resultaat dat de voorkeur alleen-lezen is, controleer dan de proxy-opdrachtregelvlaggen; die kunnen deze update verhinderen. Alleen wachten maakt van een geweigerde wijziging geen toegepaste route.
Een directe aanroep van SetPreference vereist nog steeds de UI-thread van CEF. Bij de gebruikelijke multithreaded berichtlus is de WinForms- of WPF UI-thread van de hosttoepassing een andere context.
Browsers die de aanvraagcontext delen, delen de voorkeur. Dit selecteert het eindpunt; een aparte authenticatiecallback moet inloggegevens beperken tot de bedoelde proxy-uitdaging.