CefSharp SetProxyAsync: изчакайте и проверете преди навигация
RequestContext.SetProxyAsync планира предпочитанието в UI нишката на CEF; UI нишката на WinForms/WPF не е автоматично тази нишка.
Използвайте инициализирания контекст на заявката, който обслужва желания браузър:
using System;
using CefSharp;
var result = await requestContext.SetProxyAsync(
"http", "proxy.example", 8080);
if (!result.Success)
{
throw new InvalidOperationException(result.ErrorMessage);
}Изчакайте операцията и обработете неуспеха преди навигация. За разрешена проверка на публичен сайт списъкът с HTTP прокси сървъри предоставя кандидати за аргументите хост и порт на HTTP. SetProxyAsync планира обновяването на предпочитанието в UI нишката на CEF и избира fixed_servers.
Ако резултатът съобщи, че предпочитанието е само за четене, проверете прокси флаговете от командния ред; те могат да блокират това обновяване. Самото изчакване не превръща отхвърлена промяна в приложен маршрут.
Директното извикване на SetPreference все още изисква UI нишката на CEF. При обичайната многопоточна настройка на цикъл за съобщения UI нишката на WinForms или WPF на хоста е различен контекст.
Браузърите, които споделят контекста на заявката, споделят и предпочитанието. Това избира крайната точка; отделно обратно извикване за удостоверяване трябва да ограничи данните за достъп до предназначеното прокси предизвикателство.