@andoral

Почему восстановление куки (из Json) в CefSharp не работает так, как нужно?

Cохранение куки
void SaveCookies()
        {
            var cv = new CookieVisitor();
            Cef.GetGlobalCookieManager().VisitAllCookies(cv);
            var json = JsonConvert.SerializeObject(cv.Cookies);
            File.WriteAllText(settingsPath, json);
        }
Восстановление куки
void SetCookies()
        {
            var json = File.ReadAllText(settingsPath);
            var cookies = JsonConvert.DeserializeObject<List<Cookie>>(json);

            if (cookies == null || cookies.Count == 0)
                return;

            foreach(var cookie in cookies)
            {
                Cef.GetGlobalCookieManager().SetCookie(cookie.Domain, cookie);
            }
        }
CookieVisitor
class CookieVisitor : ICookieVisitor
    {

        public List<Cookie> Cookies { get; set; }

        public CookieVisitor()
        {
            Cookies = new List<Cookie>();
        }

        public void Dispose()
        {
            
        }

        public bool Visit(Cookie cookie, int count, int total, ref bool deleteCookie)
        {
            if (cookie == null)
                return false;

            Cookies.Add(cookie);
            return true;
        }
    }


При восстановлении куки браузер не восстанавливает сессию.
На строке
Cef.GetGlobalCookieManager().VisitAllCookies(cv);
почему то вход идет сразу на cv.Dispose().
Что я делаю не так?
  • Вопрос задан
  • 466 просмотров
Решения вопроса 1
Griboks
@Griboks Куратор тега C#
Надо задать CachePath для сохранения всех локальных данных вместо отдельного сохранения куки. Если CachePath не задан, закрытие браузер удаляет все локальные данные.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
C.Nord Санкт-Петербург
от 150 000 до 150 000 ₽
АЛМАЗ Москва
от 90 000 до 180 000 ₽
от 200 000 до 300 000 ₽
17 июн. 2021, в 00:44
40000 руб./за проект
17 июн. 2021, в 00:12
100000 руб./за проект
17 июн. 2021, в 00:05
2000 руб./за проект