2013-03-12 58 views
6

我正在使用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 

這不會發生的每一個集裝箱,但是當它發生的一個,它似乎是相同的之一。我檢查了容器確實存在。

+0

本地或雲配置? – 2013-03-12 15:10:27

+0

雲配置。而且我發現它不是隻有這兩個命令,它是容器上的任何命令。我已經更新了我的問題。 – 2013-03-12 15:14:36

+0

您是否使用過Fiddler或Netmon之類的東西來查看請求是否正在等待存儲服務(即等待HTTP調用返回),或者延遲是否在您的應用中(即沒有空閒工作線程來處理請求)? – kwill 2013-03-12 18:14:14

回答