从Microsoft azure删除文件时获取超时

时间:2017-01-04 12:25:07

标签: c# .net linq azure azure-storage-blobs

我正在尝试使用C#代码从Microsoft azure删除备份文件(超过30天),但不幸的是我有时间问题,如有错误请点击下面的“错误代码”。可以任意请帮助我。

Error code

请参阅以下代码:

Code

1 个答案:

答案 0 :(得分:0)

  

Microsoft.WindowsAzure.Storage.StorageException:无法从传输连接读取数据:远程主机强行关闭现有连接。

如果您可以找到此问题并确认错误在container.ListBlobs处抛出,我认为您可以设置BlobRequestOptions.ServerTimeout以改善请求的服务器超时。此外,您可以利用BlobRequestOptions.RetryPolicyLinearRetryExponentialRetry)在请求失败时启用重试。以下是代码段,您可以参考它:

container.ListBlobs(null, false, options: new BlobRequestOptions()
{
    ServerTimeout = TimeSpan.FromMinutes(5)
});

container.ListBlobs(null, false, options: new BlobRequestOptions()
{   
    //the server timeout interval for the request
    ServerTimeout = TimeSpan.FromMinutes(5),
    //the maximum execution time across all potential retries for the request
    MaximumExecutionTime=TimeSpan.FromMinutes(15),
    RetryPolicy=new ExponentialRetry(TimeSpan.FromSeconds(5),3) //retry 3 times
});

此外,您可以利用ListBlobsSegmented列出页面中的blob。有关更多详细信息,您可以参考此官方tutorial中的异步页面中的列表blob。