1

Windows 8アプリケーションでは、IXMLHTTPRequest2メソッドを使用して、サイズがギガバイトに達する可能性のあるファイルをHTTP経由でストリーミングしています。これはすべて完全に機能しますが、内部的には、WinRTには、IXMLHTTPRequest2への呼び出しを介してストリーミングされるすべてのものを一時的なインターネットキャッシュに格納するキャッシュシステムがあります。ストリーミングするファイルが増えるにつれ、キャッシュが空になることはなく、ディスクがいっぱいになるまで、ディスク上でますます多くのスペースを使用し始めます。

最適には、このキャッシュ機能を完全に無効にします。私たちが生きることができるもう1つのオプションは、キャッシュされたファイルがしばらくすると削除されることです(ただし、一時的なインターネットキャッシュを参照したり、ファイルを手動で削除したりする必要はありません)。

サーバーの応答に「Expires:0」ヘッダーを追加し、IE内で直接キャッシュを無効にしようとしましたが(これはIXMLHTTPRequest2の呼び出しに影響を与える可能性があると考えました)、役に立ちませんでした。

誰かがこれについて何か考えがありますか?

この質問はここに投稿された別の質問と似ていると思いますが、私たちの問題は、ファイルの「鮮度」ではなく、キャッシュによって使用されるスペースに関係しています。

編集:MSDNフォーラムでもこの投稿を見つけました。MSFTモデレーターによると、「システムは定期的にキャッシュをクリーンアップするので、ディスク容量の不足を心配する必要はありません」が、そうではありません。私たちのシナリオの場合。

4

2 に答える 2

2

MSDN フォーラムのこの投稿によると、これは不可能であり、WinRT の既知の制限です。

唯一の答えが悪いニュースである場合もあります。:-[

于 2012-12-12T21:42:12.870 に答える
1

ildjarn が指摘したように、これは Windows 8 では避けられないようです。しかし、Windows 8.1 を実行しているクライアントでは、これを修正する方法があるようです。

私は自分で試したことはありませんが、「IXMLHTTPRequest2」をいくつかの新機能で拡張する「IXMLHTTPRequest3」があることに気付きました: http://msdn.microsoft.com/en-us/library/windows/desktop/dn376398 %28v=vs.85%29.aspx

関連する機能は次のとおりです。 XHR_PROP_NO_CACHE – HTTP リクエストのキャッシュの読み取りと書き込みを抑制します。

それは有望に聞こえます。

于 2013-10-29T23:48:46.500 に答える