【发布时间】:2015-04-09 03:07:50
【问题描述】:
我有一种方法可以将文件上传到 Azure 到我的存储帐户。我的方法很简单
blob = new CloudBlockBlob(new Uri(Uri));
var ms = new MemoryStream(block.Data);
blob.PutBlock(block.BlockId, ms, null)
但有时我的PutBlock 会抛出异常:
操作已超时
堆栈跟踪
在 Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand`1 cmd、IRetryPolicy 策略、OperationContext operationContext)\r\n at Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.PutBlock(字符串 blockId, Stream blockData, String contentMD5, AccessCondition accessCondition、BlobRequestOptions 选项、OperationContext 操作上下文)
内部异常堆栈跟踪
在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& 上下文)\r\n 在 System.Net.HttpWebRequest.GetRequestStream()\r\n
在 Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand`1 cmd, IRetryPolicy 策略, OperationContext operationContext)"
这通常发生在我一次异步上传 40 个文件并且文件导致瓶颈时。我现在显然一次将其限制为 1 个文件。但我想知道为什么会发生这种情况,是否有办法阻止它,以便我知道它不会在互联网连接普遍缓慢的情况下再次发生?
【问题讨论】: