如何在CefSharp中存储和还原多个浏览器实例的Cookie

时间:2019-04-16 11:52:23

标签: cookies session-cookies cefsharp

应用目标

我正在尝试在一个应用程序中实现多个浏览器实例。在启动时,它们应该从应用程序的前一次运行中加载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

0 个答案:

没有答案