ImageResizer
+プラグインを使用しDiskcache
ていますが、キャッシュを適切に機能させるための問題を見つけています。画像は(新しい画像をアップロードした回数に関係なく)永久にキャッシュされるか、一部の設定を変更すると、一部のブラウザー/コンピューターでは古い画像が取得され、他のブラウザー/コンピューターでは新しい画像が取得されます。
これは、web.config にあるものです。
<add name="AzureReader2" connectionString="blahblahblah" endpoint="http://blahblahblah.blob.core.windows.net/" prefix="~/" redirectToBlobIfUnmodified="false" requireImageExtension="false" checkForModifiedFiles="true" cacheMetadata="true"/>
と:
<diskcache dir="~/imagecache" autoclean="true" hashModifiedDate="true" subfolders="8192" asyncWrites="true" asyncBufferSize="10485760" cacheAccessTimeout="15000" logging="true" />
既存のパラメーターを使用して達成できるかどうかはわかりません。私の目標は、画像を提供するクエリ文字列を変更して新しい画像を取得することなく、新しい画像がアップロードされたときにキャッシュを無効にすることです。
私が考えていた:
- おそらく、代替画像がアップロードされたときに、その画像のキャッシュを削除する Webhook を起動する Blob Storage トリガーを持っているでしょうか?
- または、キャッシュに新しい画像をプリロードして、古いキャッシュされた画像を置き換えるための imageresizer アプリへの Web 要求???
IVirtualFileWithModifiedDate の使用に関するいくつかの投稿を見てきましたが、パフォーマンスに大きな影響を与えると私が理解していることから? ほとんどの画像はほとんど変更されていないため、誰かが画像をアップロードしてすぐに表示されることを期待している画像リクエストのおそらく 5% ですが、新しい画像が表示されてから 1 日経っても表示されない場合は本当にイライラします。アップロードしました!
IVirtualFileWithModifiedDate
すべての画像リクエストではなく、画像が変更されたときにキャッシュを無効にするために使用できるとしたら? それは可能でしょうか?