我正在使用Azure存储,并在调用容器上的命令时遇到一些问题。我正在使用单元测试运行它,有时当在容器上调用命令时,它只是坐下并等待该命令将近5分钟。如果我等待足够长的时间,它将会继续并取得成功。当运行它时,容器实际上存在,因此它根本不必创建容器。
还有其他人遇到过这个问题吗?我尝试在ServerTimeout
上设置BlobRequestOptions
,但没有任何影响。
以下是我的代码正在执行的操作示例:
var blobClient = _storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
var options = new BlobRequestOptions() { ServerTimeout = TimeSpan.FromSeconds(10) };
if (!container.Exists(options)) //<<<<this is where it hangs
{
container.Create();
}
我也尝试过CreateIfNotExists()
:
var blobClient = _storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
container.CreateIfNotExists(); //<<<this is where it hangs
如果我只是尝试列出blob
,它也会挂起var blobClient = _storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
container.ListBlobs(); //<<<<this is where it hangs
每个容器都不会发生这种情况,但是当它发生在一个容器上时,它似乎是同一个容器。我检查过,容器确实存在。
答案 0 :(得分:0)
我报告了一个非常类似的情况:Checking if item exists in Azure blob container takes forever (SDK 2.0)。还没有找到答案。
答案 1 :(得分:-2)
你可以将Fiddler挂钩到设置中,看看是否有任何有意义的信息? (请参阅http://sepialabs.com/blog/2012/02/17/profiling-azure-storage-with-fiddler/进行设置)
如果没有,我建议联系支持部门。