.NET AWS SDK CreateInvalidation不起作用

时间:2013-01-12 16:02:21

标签: asp.net amazon-web-services amazon-cloudfront

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

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

此外,是否存在创建异步的选项,因此我不需要从亚马逊回答。

感谢。

0 个答案:

没有答案