3

我正在使用此代码使用 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 并且在状态下我看到“已完成”,但同样,图像中没有任何变化。

我的问题是如何检查失效是否发生并使其工作,似乎我遗漏了一些东西。

此外,是否有一个选项可以创建是异步的,所以我不需要从亚马逊回答。

谢谢。

4

0 回答 0