应用目标
我正在尝试在一个应用程序中实现多个浏览器实例。在启动时,它们应该从应用程序的前一次运行中加载cookie及其缓存。
环境
我正在使用 Visual Studio 2017 ,并且我的解决方案是使用 CefSharp.Wpf 71.0的NuGet软件包在 .NET 4.5.2 上创建的。 2 (http://cefsharp.github.io/)。
尝试
示例
我只是通过创建多个CefSharp浏览器实例并访问WhatsApp网站来尝试过。
<cefSharp:ChromiumWebBrowser x:Name="w1" Grid.Row="0" Address="https://web.whatsapp.com/"/>
<cefSharp:ChromiumWebBrowser x:Name="w2" Grid.Row="0" Address="https://web.whatsapp.com/"/>
为使浏览器彼此隔离,我在MainWindow初始化后设置了每个浏览器实例的RequestContext。
w1.RequestContext = new RequestContext(new RequestContextSettings { CachePath = "...../w1", PersistSessionCookies = true });
w2.RequestContext = new RequestContext(new RequestContextSettings { CachePath = "...../w2", PersistSessionCookies = true });
对于每个浏览器,此结果是独立的,但不是持久性的,因为它在重新启动应用程序后不会加载数据。
编辑:日志输出 https://pastebin.com/W2KFcHyT https://pastebin.com/BaJxJGYQ