Cefsharp 75 为每个实例单独设置缓存目录

Posted 孤狼独啸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cefsharp 75 为每个实例单独设置缓存目录相关的知识,希望对你有一定的参考价值。

设置全局缓存目录,很简单,代码如下:

CefSettings setting = new CefSettings();
setting.CachePath = AppDomain.CurrentDomain.BaseDirectory + "caches\\";
CefSharp.Cef.Initialize(setting);

这么一来,程序的每个ChromiumWebBrowser,都将往caches这个文件夹里读取/写入缓存信息

但是如果有多个ChromiumWebBrowser实例,并且想为每个实例设置不同的缓存目录呢?这边就需要用到RequestContext 属性

需要注意的是,如果设置了RequestContext .RequestContextSettings.CachePath 属性值,CefSettings.CachePath属性值需放空,否则会出现问题。

var subCacheFolder="";
ChromiumWebBrowser wb = new ChromiumWebBrowser("https://www.baidu.com/");
var requestContextSettings = new RequestContextSettings { CachePath = AppDomain.CurrentDomain.BaseDirectory+"caches\\"+subCacheFolder+"\\" };            
wb.RequestContext = new RequestContext(requestContextSettings);

以上是关于Cefsharp 75 为每个实例单独设置缓存目录的主要内容,如果未能解决你的问题,请参考以下文章

关于CefSharp使用的一些备忘

CefSharp 无法输入中文的问题

用cefsharp写了一个保存网页为单文件html的小工具

每个浏览器单独缓存?

Cefsharp 清除 wpf 中的缓存、cookie 和浏览器数据

CefSharp的引用配置实例