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 ведучої програми — це інший контекст.
Браузери, що спільно використовують контекст запиту, спільно використовують і налаштування. Це вибирає кінцеву точку; окремий зворотний виклик автентифікації має обмежувати облікові дані передбаченим проксі-викликом.