2

私は組み込みブラウザーを初めて使用しますが、GeckoFX v33 コントロールが動作し、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 が起動時に最後のキャッシュを参照するための正しい構成を知っている人はいますか?

前もって感謝します!

4

1 に答える 1

0

わかりましたので、このバグをgeckofx-33.0 バージョンに絞り込みました。

geckofx-31.0-01 以下にダウングレードすると問題が解決し、キャッシュが保持されます (自動的に作成される/cache2フォルダー内)。

次の組み合わせをテストしました (OS: Windows):

  • GeckoFx 29.0-015.zip と xulRunner 29.0.1.en-US.win32.zip: ディスク キャッシングが機能します。

  • GeckoFx 31.0-01.zip と xulRunner 31.0.en-US.win32.zip: ディスク キャッシングが機能します。

  • GeckoFx 33.0-02.zip と xulRunner 33.0.2.en-US.win32.zip: ディスク キャッシングが失敗します

上記の 33 バージョンを使用していたため (これが最新バージョンでした!)、ディスク キャッシュを機能させることができませんでした。毎回再現可能なので、これは間違いなくバグだと思います。バグが geckoFx にあるのか xulRunner ランタイムにあるのかはわかりませんが、修正は開発者の頭脳に任せます。v33 でキャッシュ API が変更されたと思います。

というわけで、とりあえずバージョン 31 にフォールバックして修正を待つことにします。

于 2015-05-12T00:52:01.687 に答える