You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Chromium及CEF框架变更后如何设置Cookie存储路径?

解决CEF中ICookieManager.SetStoragePath()被移除后的Cookie存储路径设置问题

嘿,我之前也踩过这个坑!Chromium和CEF的这次破坏性更新确实把单独设置Cookie存储路径的SetStoragePath()方法给移除了,现在得换个思路来配置——因为现在Cookie存储已经和全局缓存目录整合到一起,不再支持单独指定路径了。

你原来的代码是在CEF初始化后调用Cookie管理器的方法来设置路径,现在得把这个配置提前到初始化之前,通过CefSettingsCachePath属性来完成。具体修改如下:

var settings = new CefSettings();
// 保留你原来的GPU禁用设置
settings.CefCommandLineArgs.Add("disable-gpu", "1");
// 直接将你原来的Cookie存储路径赋值给CachePath,Cookie会自动存在该目录的子文件夹中
settings.CachePath = this.pipeName;
// 用配置好的settings初始化CEF
Cef.Initialize(settings);

补充说明:

  • 现在CEF的设计逻辑是,所有缓存相关的内容(包括Cookie、LocalStorage、网页缓存文件等)都会统一存放在CachePath指定的目录下,所以不需要再单独针对Cookie设置路径了。
  • 如果需要为不同的CEF实例隔离Cookie,只需要给每个实例设置不同的CachePath即可,每个目录的Cookie数据是完全独立的。

内容的提问来源于stack exchange,提问作者Alexander Galkin

火山引擎 最新活动