0

当远程图像更改时,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>
4

1 回答 1

1

RemoteReader 不会等待往返 HTTP 请求来查看图像是否过时;相反,为了提供可接受的性能,它需要修改面向客户端的 URL 以执行任何失效。

在 URL 中添加任何内容,比如&imagever=2等,都会导致它被重新请求和缓存。

您可以在不更改 URL 的情况下使缓存文件无效吗?没有。如果后端是高延迟的,则不会。

我们的许多提供商(不包括 remotereader)允许您启用自动失效 - 但这总是以过高的性能成本为代价。更改 URL 是唯一有效的解决方案 -如果您使用激进的浏览器或 CDN ,通常也是唯一的解决方案。

于 2015-05-12T15:53:40.753 回答