WPF CefSharp:会话恢复不起作用

WPF CefSharp: Session restoring does not work

我有一个问题。

我使用 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);

我真的需要你的帮助。 Ty.

WhatsApp 真的..有点特别。但是有一个解决你的问题的方法。 您需要做的是给 WhatsApp Web App 多一点时间来处理它的内容。不要过早关闭您的应用程序(给它大约 20-40 秒,让它完成保存数据)。