Ich habe versucht, eine Datei aus einem leeren Blob-Container herunterladen, und ich habe 404 wie erwartet. Die Frage ist, ich sehe nur 1 Anruf für diese Datei in Fiddler, anstatt 3 (wie ich in der RetryPolicy angegeben), auch ich bemerke, dass der Anruf innerhalb von 1 Sekunde beendet, so dass es definitiv nicht 10 Sekunden warten, bevor Sie es erneut versuchen. .. Woher weiß ich, ob der BlobClient wirklich den Versuch unternommen hat?Kann ich Azure Blob RetryPolicy vertrauen? Warum kann ich diese Wiederholungsanforderungen in Fiddler nicht finden
var blobClient = this.storageAccount.CreateCloudBlobClient(); blobClient.DefaultRequestOptions.RetryPolicy = new LinearRetry(TimeSpan.FromSeconds(10), 3); var anchorString = await cloudBlobContainer.GetBlockBlobReference(ARGO_ANCHOR_VERSION_FILE).DownloadTextAsync();
Danke für die Erklärung! Es ist verwirrend, da ich die StorageException.IsRetryable = true für diese Ausnahme gesehen habe, obwohl – Carol
Den Code hier ansehen: https://github.com/Azure/azure-storage-net/blob/master/Lib/Common/ StorageException.cs. Auf dieser Basis wird 'IsRetryable' nur im Falle einer' ArgumentException' auf false gesetzt (z. B. geben Sie einen ungültigen Blobcontainernamen an). HTH. –