【发布时间】:2018-05-24 04:41:03
【问题描述】:
我正在使用 cefsharp 浏览器作为其中一部分的银行设备上开发应用程序。因为这个应用程序将被任何人使用,它不应该保存下一个用户可以看到的前一个用户的任何数据。我想在关闭后清除所有缓存的浏览器数据。
public void InitBrowser()
{
settings = new CefSettings();
settings.CachePath = AppDomain.CurrentDomain.BaseDirectory + "cache";
settings.CefCommandLineArgs.Add("disable-application-cache", "1");
settings.CefCommandLineArgs.Add("disable-session-storage", "1");
if (!Cef.IsInitialized) Cef.Initialize(settings);
webBrowser = new CefSharp.Wpf.ChromiumWebBrowser();
MainGrid.Children.Add(webBrowser);
}
我想在调用名为WebPages_Exit 的函数后清除所有缓存的数据。如何在不删除浏览器实例或关闭 CEF 的情况下删除所有缓存数据,因为 CEF 无法初始化两次,并且在处理后创建另一个浏览器实例不起作用。
我在ICookieVisitor 中实现了visit 函数来保存cookie,并使用了deleteCookies 或禁用缓存cefSetting 命令等方法,但没有任何效果,因为cookie 列表为空且IcookieVisitor 的visit 函数永远不会叫。似乎它被保存在另一部分,只是在 CEF 关闭时重置。
【问题讨论】:
标签: wpf cookies browser-cache cefsharp