ImageResizer с плагинами RemoteReader и DiskCache, на которых не отображается обновленное удаленное изображение

Когда удаленное изображение меняет версию, обслуживаемую ImageResizer, она остается старым. Как лучше обойти это?

Конфиг довольно прост и выглядит следующим образом:

<diskCache dir="~/imagecache" autoClean="true" enabled="true" />
<remotereader signingKey="58h4E#O!VAiDwpYcIG!ERv74jSUs6L1!" allowAllSignedRequests="true" allowRedirects="5">
  <allow domain="domain.com" />
  <allow domain="*.domain1.com" />
  <allow domain="*.domain2.com" />
  <!-- XML whitelisting requires V3.2 or higher
  <allow domain="*.imageresizing.net" onlyWhenSigned="true"/> -->
</remotereader>

1 ответ

RemoteReader не ожидает обратного HTTP-запроса, чтобы увидеть, устарело ли изображение; скорее, чтобы обеспечить приемлемую производительность, требуется, чтобы клиентский URL-адрес был изменен для выполнения любого аннулирования.

Добавляя что-нибудь к URL, скажем &imagever=2и т. д. приведет к его повторному запросу и кешированию.

Можете ли вы сделать недействительным кэшированный файл без изменения URL? Нет Нет, если бэкэнд имеет большую задержку.

Многие из наших провайдеров (за исключением удаленного считывателя) позволяют вам включить автоматическую аннулирование, но это всегда приводит к слишком высокой стоимости производительности. Изменение URL-адреса - единственное эффективное решение и зачастую единственное решение, если у вас агрессивный браузер или CDN.

Другие вопросы по тегам