CefSharp SetProxyAsync: להמתין ולבדוק לפני ניווט
RequestContext.SetProxyAsync מתזמן את ההעדפה ב-UI thread של CEF; ה-UI thread של WinForms/WPF אינו אותו thread באופן אוטומטי.
השתמשו בהקשר הבקשה המאותחל שמשרת את הדפדפן המיועד:
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 thread של CEF ובוחר ב-fixed_servers.
אם התוצאה מדווחת שההעדפה היא לקריאה בלבד, בדקו את דגלי הפרוקסי של שורת הפקודה; הם עלולים למנוע את העדכון הזה. המתנה לבדה אינה הופכת שינוי שנדחה למסלול מיושם.
קריאה ישירה ל-SetPreference עדיין דורשת את ה-UI thread של CEF. בתצורת לולאת ההודעות הרב-תהליכית הרגילה, ה-UI thread של WinForms או WPF של אפליקציית המארח הוא הקשר אחר.
דפדפנים החולקים את הקשר הבקשה חולקים את ההעדפה. זה בוחר את נקודת הקצה; חזרה של אימות נפרדת חייבת להגביל אישורים לאתגר הפרוקסי המיועד.