CefSharp 3在运行时设置代理

Ala*_*din 5 c# c++ proxy chromium-embedded cefsharp

我下载了CEF(chromuim嵌入式框架)二进制分发(cefclient&cefsimple)c ++示例,并且实现了cefclient可以在运行时更改代理设置.

这样做的关键是获取RequestContext并调用函数SetPreference.

在CefClient上一切都很好.

但是在CefSharp上调用SetPreference总是返回false,并且HasPreference也会为首选项名称"proxy"返回false.

Ala*_*din 7

感谢 amaitland积极改变请求上下文优先的正确方法,就是在CEF UIThread上运行代码如下:

    Cef.UIThreadTaskFactory.StartNew(delegate {
        var rc = this.browser.GetBrowser().GetHost().RequestContext;
        var v = new Dictionary<string, object>();
        v["mode"] = "fixed_servers";
        v["server"] = "scheme://host:port";
        string error;
        bool success = rc.SetPreference("proxy", v, out error);
        //success=true,error=""
    });
Run Code Online (Sandbox Code Playgroud)