Как хранить и восстанавливать куки для нескольких экземпляров браузера в CefSharp - PullRequest
0 голосов
/ 16 апреля 2019

Цель приложения

Я пытаюсь реализовать несколько экземпляров браузера в одном приложении.При запуске они должны загрузить куки и их кеш из предыдущего запуска приложения.

Среда

Я использую Visual Studio 2017 , и мое решение создано на .NET 4.5.2 ,используя NuGet-пакет CefSharp.Wpf 71.0.2 (http://cefsharp.github.io/).

Попытки

Пример

Я попытался просто создать несколько экземпляров браузера CefSharp, обращаясь к WhatsAppweb.

<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/"/>

Чтобы изолировать браузеры от других, я установил RequestContexts каждого экземпляра браузера после инициализации MainWindow.

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

...