gpt4 book ai didi

c# - 我可以信任 Azure Blob RetryPolicy 吗?为什么我在fiddler中找不到这些重试请求

转载 作者:行者123 更新时间:2023-12-02 08:06:57 29 4
gpt4 key购买 nike

我尝试从空 blob 容器下载文件,结果如预期得到 404。问题是我在 fiddler 中只看到对该文件的 1 个调用,而不是 3 个(正如我在 RetryPolicy 中指定的那样),而且我还注意到调用在 1 秒内完成,所以它肯定没有等待 10 秒才重试。 ..我如何知道 BlobClient 是否真的进行了重试?


var blobClient = this.storageAccount.CreateCloudBlobClient();
blobClient.DefaultRequestOptions.RetryPolicy = new LinearRetry(TimeSpan.FromSeconds(10), 3);
varanchorString =等待cloudBlobContainer.GetBlockBlobReference(ARGO_ANCHOR_VERSION_FILE).DownloadTextAsync();

最佳答案

The question is I see only 1 call for this file in fiddler, instead of 3 (as I specified in the RetryPolicy)

这是预期行为,因为默认重试策略(线性、指数等)不会重试所有操作。 重试策略用于处理暂时错误。您提到您收到 404(未找到)错误,这不是可重试的操作,因为它不是暂时性错误。通常,状态代码 500+ 的错误默认情况下是可重试的。

但是,您可以创建自定义重试策略并使任何错误代码可重试。我很久以前就写了一篇关于重试策略的博客文章,在那里我编写了一些用于创建自定义重试策略的代码。您可以创建一个自定义重试策略,将 404 错误视为暂时错误,然后您应该看到存储客户端库正在重试您的操作。您可以在这里阅读该帖子:http://gauravmantri.com/2012/12/30/storage-client-library-2-0-implementing-retry-policies/ .

关于c# - 我可以信任 Azure Blob RetryPolicy 吗?为什么我在fiddler中找不到这些重试请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38386304/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com