CefSharp SetProxyAsync: မလမ်းညွှန်မီ စောင့်ပြီး စစ်ဆေးပါ
RequestContext.SetProxyAsync သည် ဦးစားပေးကို CEF ၏ UI thread တွင် အချိန်ဇယားဆွဲသည်။ WinForms/WPF UI thread သည် အလိုအလျောက် ထို thread မဟုတ်ပါ။
ရည်ရွယ်ထားသော browser ကို ဝန်ဆောင်သော စတင်ပြီးသော request context ကို အသုံးပြုပါ-
using System;
using CefSharp;
var result = await requestContext.SetProxyAsync(
"http", "proxy.example", 8080);
if (!result.Success)
{
throw new InvalidOperationException(result.ErrorMessage);
}မလမ်းညွှန်မီ လုပ်ဆောင်ချက်ကို စောင့်ပြီး မအောင်မြင်မှုကို ကိုင်တွယ်ပါ။ ခွင့်ပြုထားသော အများပြည်သူ site စစ်ဆေးမှုအတွက် HTTP proxy စာရင်းသည် HTTP host နှင့် port အငြင်းပွားချက်များအတွက် ကိုယ်စားလှယ်လောင်းများ ပေးသည်။ SetProxyAsync သည် ဦးစားပေး အပ်ဒိတ်ကို CEF UI thread တွင် အချိန်ဇယားဆွဲပြီး fixed_servers ကို ရွေးချယ်သည်။
ရလဒ်က ဦးစားပေးသည် ဖတ်ရန်သာ ဖြစ်သည်ဟု အစီရင်ခံပါက command-line proxy အလံများကို စစ်ဆေးပါ။ ၎င်းတို့သည် ဤအပ်ဒိတ်ကို တားဆီးနိုင်သည်။ စောင့်ရုံဖြင့် ငြင်းပယ်ခံရသော ပြောင်းလဲမှုကို အသုံးချပြီးသော လမ်းကြောင်း မဖြစ်စေပါ။
တိုက်ရိုက် SetPreference ခေါ်ဆိုမှုသည် CEF ၏ UI thread ကို လိုအပ်ဆဲဖြစ်သည်။ ပုံမှန် multi-threaded message loop စနစ်တွင် host application ၏ WinForms သို့မဟုတ် WPF UI thread သည် မတူညီသော context ဖြစ်သည်။
request context ကို မျှဝေသော browser များသည် ဦးစားပေးကို မျှဝေသည်။ ၎င်းသည် endpoint ကို ရွေးချယ်သည်။ သီးခြား authentication callback သည် အထောက်အထားများကို ရည်ရွယ်ထားသော proxy စိန်ခေါ်မှုတွင် ကန့်သတ်ရမည်။