2012-03-29 49 views
6

我有這兩個對象用於Azure Blob存儲訪問並希望在ASP.NET MVC應用程序中使用它們。重用CloudBlobClient對象

CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); 
CloudBlobContainer container = blobClient.GetContainerReference("Deesd"); 

我的問題是:我可以重複使用跨所有應用程序請求的對象的同一個實例,還是應該在每一個方法實例化一個新的對象?

回答

6

您可以重複使用實例,但不能同時從多個線程訪問同一實例,因爲它不是線程安全的。

+3

答案不是重用CloudBlobClient。 http://social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/b993b02d-a2fb-4f55-bea1-1c6b14b2a806 – 2012-03-29 22:35:41

+2

重複使用和併發使用是兩個不同的東西,因此在我的答案中明確區分。 – 2012-03-29 23:35:04

+2

我仍然相信我的回答是正確的,雖然是的,文檔一般警告你遠離這一點。 – smarx 2012-03-30 05:05:06

4

您可以重複使用它。據我所知,它不包含任何超出其初始化狀態的狀態。

+1

答案是不重用CloudBlobClient。 http://social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/b993b02d-a2fb-4f55-bea1-1c6b14b2a806 – 2012-03-29 22:36:15

+1

我剛剛讀過那篇文章,並且我不服氣。 – smarx 2012-03-30 05:05:16

+1

是的,我明白你的擔憂......我也不相信。 問題是MS吐出的文檔太少,而且幾乎沒有可用的代碼,這些代碼在發佈時已經過時。 – 2012-03-30 15:06:26