2013-01-23 85 views
0

使用Awesomium.NET 1.7 RC3,如果我创建一个WebSession和我的应用程序WebView像这样:Awesomium WebSession是否共享磁盘缓存?

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

...然后退出的应用程序,将缓存的数据(图像,CSS等。)在我的应用下次启动时创建并使用相同位置创建WebSession缓存?

回答

1

我相信缓存将仍然可用。虽然大多数我的经验缓存在Awesomium 1.6.6,并通过调用WebCore.Initialize()时设置WebCoreConfig.UserDataPath属性来完成的,一个小的测试暗示,它仍然可用。

如果您查看首次运行代码并访问网页时创建的文件(我选择了Flickr,以便在页面上显示合理数量的图像),您会看到在AwCache文件夹中,还有另一个名为'Cache'的文件夹。该文件夹包含4个'data_X'文件,一个索引文件和一些'f_XXXXXX'文件。值得注意的另一件事是在第一次应用程序运行时这些文件的生成速度有多快。当您重新运行该应用程序,没有新的文件被创建,只要你正在访问相同的URL,但在数据_X文件,索引文件,也许一对夫妇F_X文件得到更新,但很多F_X文件的时间戳保持不变。文件更改也很快发生。

我相信F_X文件是从网站实际的缓存项,访问不同的网站会导致越来越多的F_X文件,而重新审视同一个站点不会。

显然,这是远远物的,实际上是一个答案,但根据这些意见,我觉得这好像明显,缓存保持。最后一个部分,如果你看一下Awesomium 1.7 documentationCreateWebSession(WebPreferences)指定大胆,它在内存中缓存,其中CreateWebSession(string, WebPreferences)方法,你在呼唤没有。

+0

谢谢 - 这些都是很好的观察结果。 – mafue