首页 > 解决方案 > Winform Cefsharp:无法清除缓存目录

问题描述

CefSharp在我的WinForm项目中使用。
我不想实时清除缓存目录:

if (browser != null)
{
    BrowserPanel.Controls.Remove(browser);
    browser = null;
}

String cachePath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\TelegramParser\Users\" + userName;
if (Directory.Exists(cachePath))
{
    Directory.Delete(cachePath, true);
}

但是我总是收到一个错误,无法删除此目录。

这就是我声明浏览器的方式:

String cachePath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\TelegramParser\Users\" + userName;

if (!System.IO.Directory.Exists(cachePath))
{
    System.IO.Directory.CreateDirectory(cachePath);
} 

var requestContextSettings = new RequestContextSettings { CachePath = cachePath };

if (browser != null && BrowserPanel.Controls.Contains(browser))
    BrowserPanel.Controls.Remove(browser);

browser = new ChromiumWebBrowser();
browser.RequestContext = new RequestContext(requestContextSettings, new CustomRequestContextHandler());
browser.Dock = DockStyle.Fill;

JsDialogHandler js1 = new JsDialogHandler();
browser.JsDialogHandler = js1;

BrowserPanel.Controls.Add(browser);
browser.Load("https://google.com/");

我能做些什么来解决这个问题?

标签: c#winformscefsharp

解决方案


推荐阅读