0

使用 Awesomium.NET 1.7 RC3,如果我像这样在我的应用程序中创建 aWebSession和 a WebView

var webSession = 
    WebCore.CreateWebSession("C:\\AwCache", new WebPreferences{...});
var webView = 
    WebCore.CreateWebView(500, 500, webSession);

...然后退出应用程序,下次我的应用程序启动并为缓存创建WebSession使用相同位置的缓存数据(图像、css 等)是否可用?

4

1 回答 1

1

我相信缓存仍然可用。虽然我在缓存方面的大部分经验都在 Awesomium 1.6.6 中,并且是通过WebCoreConfig.UserDataPath在调用时设置属性来完成的WebCore.Initialize(),但一些测试表明它仍然可用。

如果您查看第一次运行代码并访问网页时创建的文件(我选择 Flickr 只是为了页面上有合理数量的图像),您会看到在您的 AwCache 文件夹中,还有另一个文件夹称为“缓存”。该文件夹包含 4 个“data_X”文件、一个索引文件和一些“f_XXXXXX”文件。另一件值得注意的事情是在第一次运行应用程序时生成这些文件的速度有多快。当您重新运行应用程序时,只要您访问相同的 URL,就不会创建新文件,但 data_X 文件、索引文件和可能几个 f_X 文件的时间戳会得到更新,但许多 f_X 文件保持不变。文件更改也很快发生。

我相信 f_X 文件是该站点的实际缓存项目,因为访问不同的站点会导致 f_X 文件的数量增加,而重新访问同一站点则不会。

显然,这远不是一个实际的答案,但基于这些观察,我认为缓存被维护似乎很明显。最后一件,如果您查看 Awesomium 1.7文档CreateWebSession(WebPreferences)以粗体指定它是内存缓存,而CreateWebSession(string, WebPreferences)您调用的方法则没有。

于 2013-01-23T16:02:58.343 回答