Caching 如何在应用程序重启后强制重用缓存-GeckoFX/xulRunner

Caching 如何在应用程序重启后强制重用缓存-GeckoFX/xulRunner,caching,xulrunner,http-caching,geckofx,embedded-browser,Caching,Xulrunner,Http Caching,Geckofx,Embedded Browser,我承认,我对嵌入式浏览器还不熟悉,但我有一个GeckofxV33控件在WPF应用程序中工作和托管。浏览和缓存在浏览会话期间工作。但是,应用程序重新启动后,缓存将丢失(或被忽略),所有web资产都将重新下载 我很惊讶为什么默认情况下不启用它,因为它毕竟是一个web浏览器控件 我已尝试将自定义配置文件路径设置为具有写访问权限的现有目录: var path = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "xulrunner"); G

我承认,我对嵌入式浏览器还不熟悉,但我有一个GeckofxV33控件在WPF应用程序中工作和托管。浏览和缓存在浏览会话期间工作。但是,应用程序重新启动后,缓存将丢失(或被忽略),所有web资产都将重新下载

我很惊讶为什么默认情况下不启用它,因为它毕竟是一个web浏览器控件

我已尝试将自定义配置文件路径设置为具有写访问权限的现有目录:

var path = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "xulrunner");
Gecko.Xpcom.ProfileDirectory = System.IO.Path.Combine( Directory.GetCurrentDirectory(), "webcache");
Gecko.Xpcom.Initialize(path);
我还尝试设置各种偏好组合,例如

Gecko.GeckoPreferences.User.SetBoolPref("browser.cache.disk.enable",true);                
Gecko.GeckoPreferences.User.SetIntPref("Browser.cache.disk.capacity", 50000);
但是,它总是在应用程序重新启动时再次加载web资产

有人知道让geckoFX或xulRunner在启动时查看最后一个缓存的正确配置吗?


提前谢谢

好的,我已经把这个bug缩小到geckofx-33.0版本

降级到geckofx-31.0-01或更低版本修复了我的问题,缓存被保留(在/cache2文件夹中,自动创建)

我测试了以下组合(操作系统:Windows):

  • geckofx29.0-015.zip和xulrunner29.0.1.en-US.win32.zip:磁盘缓存工作

  • geckofx31.0-01.zip和xulrunner31.0.en-US.win32.zip:磁盘缓存工作

  • GeckoFx 33.0-02.zip和xulRunner 33.0.2.en-US.win32.zip:磁盘缓存失败
我使用的是上面的33版本(因为它是最新版本!),因此无法使磁盘缓存工作。我肯定认为这是一个bug,因为它每次都是可复制的。我不知道这个bug是存在于geckoFx还是xulRunner运行时中,但我将把它留给开发者大脑信托基金来修复。我相信缓存API在v33中发生了变化

所以,现在我想我会退回到版本31,等待修复