【发布时间】:2020-01-06 16:36:12
【问题描述】:
我有一个问题。
我使用来自 NuGet 的 CefSharp v75.1.141 开发了一个 WPF 应用程序。 该应用程序包含多个 ChromiumWebBrowser 实例,具有单独的容器 cookie 缓存等,其中每个实例在站点 https://web.whatsapp.com/ 上以不同帐户授权。在其他网站上,会话已成功保存和恢复,但在 WhatsApp 上没有。
据我了解,WhatsApp 使用 cookie、本地存储和文件系统进行授权。
所有这些似乎都保存在磁盘上,但重启后总是需要授权。 我为 Cef 尝试了许多配置选项,但没有任何效果。 但是如果你在正常模式下使用 Cef(没有单独的存储),一切正常。
应用启动时的浏览器初始化代码:
var settings = new CefSettings();
settings.RootCachePath = "Cache";
// For FHD+
Cef.EnableHighDPISupport();
// Initialize cef with the provided settings
Cef.Initialize(settings);
浏览器实例设置:
if (UID == null)
UID = Guid.NewGuid().ToString();
var requestContextSettings = new RequestContextSettings
{
CachePath = Path.Combine("Cache", UID),
PersistSessionCookies = true,
PersistUserPreferences = true
};
Browser = new ChromiumWebBrowser("https://web.whatsapp.com/);
Browser.RequestContext = new RequestContext(requestContextSettings);
我真的需要你的帮助。泰。
【问题讨论】:
-
请阅读发行说明中的已知问题部分github.com/cefsharp/CefSharp/releases/tag/v75.1.141 设置 RootCachePath 存在上游问题,请尝试降级到版本 73。
标签: c# .net wpf cookies cefsharp