0

我正在编写一个MVC5应用程序,并且正在上传BlockBlobsAzure作废Azure blob存储的RetryPolicy代码

我有一些现在已经过时的微软代码,我希望将这个过时的代码转换成可以在我的应用程序中工作的代码。

这里是旧代码:

BlockBlob.PutBlock(blockId, chunkStream, null, null, new BlobRequestOptions() { RetryPolicy = RetryPolicies.Retry(3, TimeSpan.FromSeconds(10)) }); 

我有一些代码不工作,但是这个代码不使用RetryPolicy

这里是没有RetryPolicy代码:

BlockBlob.PutBlock(blockId, chunkStream, null, null, null, null); 

我可以请有一定的帮助,以正确地构建BlobRequestOptions对象使用RetryPolicy

这是我到目前为止有:

BlobRequestOptions blobRequestOptions = new BlobRequestOptions(); 
blobRequestOptions.RetryPolicy.CreateInstance(); 
TimeSpan timeSpan = new TimeSpan(); 
TimeSpan.FromSeconds(10); 
blobRequestOptions.RetryPolicy.ShouldRetry(3, 0, new Exception(), out timeSpan, new OperationContext()); 

我不知道以下内容:

  1. 使用什么状态代码。
  2. 什么用于LastException。
  3. 时间跨度的值。
  4. 什么用于OperationContext。

在此先感谢。

回答

1

我有类似的问题。 Microsoft.WindowsAzure.StorageClient已弃用,您现在需要使用Microsoft.WindowsAzure.Storage或更具体的Microsoft.WindowsAzure.Storage.RetryPolicies。

对于重试,这应该工作

new BlobRequestOptions() { RetryPolicy = new LinearRetry(TimeSpan.FromSeconds(10), 3) }