我正在使用Azure存儲,並在調用容器上的命令時遇到一些問題。我使用單元測試運行它,有時在容器上調用一個命令時,它只是坐在那個命令上等待近5分鐘。如果我等待足夠長的時間,它將繼續並取得成功。當運行這個時,容器實際上確實存在,所以它根本不需要創建容器。運行時間非常長的Azure存儲容器命令
有沒有其他人遇到這個問題?我嘗試在BlobRequestOptions
上設置ServerTimeout
,但它沒有任何影響。
這裏是我的代碼是做一個樣本:
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
還掛起,如果我只是嘗試列出的斑點
var blobClient = _storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
container.ListBlobs(); //<<<<this is where it hangs
這不會發生的每一個集裝箱,但是當它發生的一個,它似乎是相同的之一。我檢查了容器確實存在。
本地或雲配置? – 2013-03-12 15:10:27
雲配置。而且我發現它不是隻有這兩個命令,它是容器上的任何命令。我已經更新了我的問題。 – 2013-03-12 15:14:36
您是否使用過Fiddler或Netmon之類的東西來查看請求是否正在等待存儲服務(即等待HTTP調用返回),或者延遲是否在您的應用中(即沒有空閒工作線程來處理請求)? – kwill 2013-03-12 18:14:14