我正在使用此代码使用 ASP.NET AWS SDK 使 CloudFront 文件无效。
public bool InvalidateFiles(string[] arrayofpaths)
{
try
{
var client = AWSClientFactory.CreateAmazonCloudFrontClient(MY_AWS_ACCESS_KEY_ID, MY_AWS_SECRET_KEY);
CreateInvalidationResponse r = client.CreateInvalidation(new CreateInvalidationRequest
{
DistributionId = ConfigurationManager.AppSettings["DistributionId"],
InvalidationBatch = new InvalidationBatch
{
Paths = new Paths
{
Quantity = arrayofpaths.Length,
Items = arrayofpaths.ToList()
},
CallerReference = DateTime.Now.Ticks.ToString()
}
});
}
catch
{
return false;
}
return true;
}
我提供了类似“/images/1.jpg”的路径,但似乎没有发生失效。我已经等了半个小时,使用硬刷新并清除了缓存,图像是一样的。我已将图像更改为看起来不同,因此如果发生失效,我可以注意到差异。
在控制台中,我看到发生了失效,因为我有 ID 并且在状态下我看到“已完成”,但同样,图像中没有任何变化。
我的问题是如何检查失效是否发生并使其工作,似乎我遗漏了一些东西。
此外,是否有一个选项可以创建是异步的,所以我不需要从亚马逊回答。
谢谢。