我有一种将文件上传到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 的OperationContext)
内部异常堆栈跟踪
at 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个文件。但是我想知道为什么会发生这种情况,如果有办法阻止它,那么我知道它会再次发生,因为一般来说网络连接速度很慢?
答案 0 :(得分:1)
您可以尝试一些事项:
ServerTimeout
方法的BlobRequestOptions
参数的PutBlock
属性中指定它。