She*_*iee 5 cookies wpf browser-cache cefsharp
我正在开发一个使用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);
}
Run Code Online (Sandbox Code Playgroud)
我想在WebPages_Exit调用一个名为的函数后清除所有缓存的数据 .如何在不删除浏览器实例或关闭CEF的情况下删除所有缓存数据,导致CEF无法初始化两次,并且在处理后无法创建另一个浏览器实例.
我实现了visit函数ICookieVisitor以保存cookie以及使用类似deleteCookies或禁用缓存cefSetting命令的方法,但没有任何作用导致cookie列表为空并且从不调用visit函数IcookieVisitor.它似乎保存在另一个部分,只是在CEF关闭时重置.
我找到了答案!这是因为禁用了缓存设置.禁用缓存设置它实际缓存数据,但它不可访问,例如你不能删除cookie而不关闭CEF.因此,如果启用缓存设置(将其保留为默认设置),则可以使用Cef.GetGlobalCookieManager().DeleteCookies("", "")方法删除它们.
| 归档时间: |
|
| 查看次数: |
8484 次 |
| 最近记录: |