CefSharp SetProxyAsync: नेविगेशन से पहले प्रतीक्षा करें और जाँचें
RequestContext.SetProxyAsync वरीयता को CEF के UI थ्रेड पर शेड्यूल करता है; WinForms/WPF UI थ्रेड अपने आप वह थ्रेड नहीं है।
इच्छित ब्राउज़र की सेवा करने वाले आरंभित अनुरोध संदर्भ का उपयोग करें:
using System;
using CefSharp;
var result = await requestContext.SetProxyAsync(
"http", "proxy.example", 8080);
if (!result.Success)
{
throw new InvalidOperationException(result.ErrorMessage);
}नेविगेशन से पहले ऑपरेशन की प्रतीक्षा करें और विफलता संभालें। अनुमत सार्वजनिक-साइट जाँच के लिए, HTTP प्रॉक्सी सूची HTTP होस्ट और पोर्ट तर्कों के लिए उम्मीदवार देती है। SetProxyAsync वरीयता अद्यतन को CEF UI थ्रेड पर शेड्यूल करता है और fixed_servers चुनता है।
यदि परिणाम बताता है कि वरीयता केवल-पढ़ने योग्य है, तो कमांड-लाइन प्रॉक्सी फ़्लैग जाँचें; वे इस अद्यतन को रोक सकते हैं। केवल प्रतीक्षा करना अस्वीकृत परिवर्तन को लागू मार्ग नहीं बनाता।
सीधे SetPreference कॉल के लिए अभी भी CEF का UI थ्रेड आवश्यक है। सामान्य बहु-थ्रेडेड संदेश-लूप सेटअप में, होस्ट एप्लिकेशन का WinForms या WPF UI थ्रेड एक भिन्न संदर्भ है।
अनुरोध संदर्भ साझा करने वाले ब्राउज़र वरीयता भी साझा करते हैं। यह एंडपॉइंट चुनता है; एक अलग प्रमाणीकरण कॉलबैक को क्रेडेंशियल को उसके इच्छित प्रॉक्सी चैलेंज तक सीमित करना चाहिए।