为 WebView2 设置缓存目录

Set Cache directory for WebView2

我在 WPF 控件中使用 WebView2 来承载新边缘。

在我的代码中,我想将 cookie 和浏览器特定数据缓存到缓存目录中。创建 CoreWebView2Environment 时,应在 CoreWebView2EnvironmentOptions 中设置缓存位置。

我们有什么办法可以做到这一点吗?提前致谢。

您可以在CoreWebView2Environment.CreateAsync方法中设置用户数据文件夹。它的第二个参数,其他参数可能为null。

然后您可以让 WPF WebView 使用您的 CoreWebView2Environment 通过调用 WebView2.EnsureCoreWebView2Async method.

创建它的 CoreWebView2

但是,您必须在设置 WebView2.Source 属性 之前调用 EnsureCoreWebView2Async,因为 属性 隐式导致初始化以默认 CoreWebView2Environment 开始。

您可以在 WebView2 documentation summary 部分阅读有关 WPF WebView2 控件初始化的更多信息。

我使用 WebView2 创建了一个 WPF 应用程序,它将缓存目录设置为用户 appdata 文件夹。下面是我的应用程序的代码片段。

var webView2Environment = await CoreWebView2Environment.CreateAsync(null, _cacheFolderPath);
await kioskBrowser.EnsureCoreWebView2Async(webView2Environment);

kioskBrowser.Source = new Uri(url);

您可以在此处找到其余代码 KioskBrowser (GitHub)