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 ਥਰੈਡ ਇੱਕ ਵੱਖਰਾ ਸੰਦਰਭ ਹੈ।
ਬੇਨਤੀ ਸੰਦਰਭ ਸਾਂਝਾ ਕਰਨ ਵਾਲੇ ਬ੍ਰਾਊਜ਼ਰ ਤਰਜੀਹ ਵੀ ਸਾਂਝੀ ਕਰਦੇ ਹਨ। ਇਹ ਐਂਡਪੌਇੰਟ ਚੁਣਦਾ ਹੈ; ਇੱਕ ਵੱਖਰਾ ਪ੍ਰਮਾਣਿਕਤਾ ਕਾਲਬੈਕ ਪ੍ਰਮਾਣ-ਪੱਤਰਾਂ ਨੂੰ ਉਸ ਦੇ ਇੱਛਤ ਪ੍ਰੌਕਸੀ ਚੁਣੌਤੀ ਤੱਕ ਸੀਮਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।