【发布时间】:2018-12-03 15:19:18
【问题描述】:
我在 Azure 中创建了一个 CDN,我正在构建一个能够将图像上传到 CDN 的 .NET MVC Web 应用程序。
初始上传效果很好,图片在上传后立即可用。
如果我使用不同的图像再次上传,它不会立即从 Web 应用程序更新。但是,在我的 Azure 门户中,我可以打开存储帐户容器并立即看到可用的新文件。
无论我如何刷新或重启网络应用程序,在更新的图像上传后 5-10 分钟后它才会看到图像。
在我看来,这与 Azure 中的 CDN 缓存有关。在过去的几个小时里,我一直在寻找解决方案,而且似乎很少有针对这个特定问题的在线文档(这很奇怪,我不可能是第一个遇到这个问题的人,对吧?)。
此外,在 Azure 中 CDN 端点的缓存规则下,我只能看到一个下拉菜单,而不是我在网上其他地方看到的众多选项,而且似乎没有一个选项允许我禁用缓存。
那么,如何让更新后的图像立即显示?
谢谢!!
编辑:
这是目前对我有用的解决方案:
创建以 GUID 作为名称的所有图像。当用户上传新图像时,删除旧图像,然后上传具有不同 GUID 的新图像。由于它们具有不同的名称,因此 CDN 缓存不会干扰。
【问题讨论】:
-
CDN 有一个生存时间 (TTL)。你设置的 TTL 是多少?在 TTL 到期之前不会看到新内容。
-
@DavidMakogon 我不确定。我似乎在 Azure 的任何地方都找不到它,也没有任何关于如何查找/设置它的文档。我也不确定是否需要使用缓存控制标头或查询字符串版本控制?你能解释一下吗?谢谢!
标签: .net azure caching cdn azure-cdn