2013-01-23 83 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