2010-07-10 92 views
2

拋出了「Microsoft.WindowsAzure.StorageClient.StorageClientException」類型的異常。拋出「Microsoft.WindowsAzure.StorageClient.StorageClientException」類型的異常

有時候,即使我們運行了結構並且角色管理器已啓動,我們也會得到這種異常。

碼處斷裂行:

emailAddressClient.CreateTableIfNotExist("EmailAddress"); 

public EmailAddressDataContext(CloudStorageAccount account) : 
      base(account.TableEndpoint.AbsoluteUri, account.Credentials) 
{ 
    this.storageAccount = account; 

    CloudTableClient emailAddressClient = 
       new CloudTableClient(storageAccount.TableEndpoint.AbsoluteUri, 
            storageAccount.Credentials); 
    emailAddressClient.CreateTableIfNotExist("EmailAddress"); 
} 

回答

-1

簡單的解決方法是改變 「EmailAddress的」 爲 「EMAILADDRESS」。由於某些原因,它不會允許駝峯。所以請確保,在表格名稱中只有一個大寫字母,一開始就是這樣。由於表名不區分大小寫,因此您可以將其命名爲'emailaddress'

+0

駱駝套管不是問題。你急忙得出一個錯誤的結論。 http://msdn.microsoft.com/en-us/library/windowsazure/dd179338.aspx – Indy9000 2013-06-14 09:59:20

4

我一直給Windows Azure表駱駝式名稱沒有問題。

我想知道你是否已經使用過這個表名並且最近刪除了它?在刪除後(當表仍然異步刪除時),您將無法重新創建它。我相信409衝突是在這種情況下預期的錯誤代碼。

+0

沒有。使用Storage Explorer刪除表名稱後,我重新創建了該問題。同樣的問題和相同的答案。你使用的是什麼版本的SDK?無論如何,這工作對我來說,我博客作爲例外是誤導。我會標記它解決。 – 2010-07-11 16:53:58

+1

是的,但問題是刪除是否實際完成。如果您查看異常的細節(只需運行Fiddler最簡單),我的猜測是您會看到真正的錯誤。 – smarx 2010-07-11 22:23:32

+0

這是我的博客文章的一部分,第一個異常發生,當修復導致另一個異常。刪除實際上完成了,因爲我說我使用了存儲資源管理器,所以如果它沒有被刪除,怎麼會不能返回表格?它顯示爲已刪除。然而,我明白什麼是問題 - 我忘了把鏈接放到博客上,這個問題是作爲另一個問題的繼承而出現的。閱讀本文http://weblogs.asp.net/chanderdhall – 2010-07-13 03:23:29

2

我同意史蒂夫馬克思,套管似乎不會影響這個問題。事實上,微軟的Azure診斷表是使用不尋常的外殼創建的,例如:WADPerformanceCounters。即使在開發環境中,我也會遇到問題。所以這完全是另一回事 - 我的意見。

在我的情況下修正了錯誤:問題是在webrole或workerrole項目屬性中定義(或缺少)連接字符串的錯誤。 修復: 右鍵單擊雲應用程序中「角色」文件夾下的卷軸。從上下文菜單中選擇「屬性」。 選擇「設置」選項卡。 驗證或添加您將用於初始化表存儲的連接字符串的設置。

礦是一個簡單的錯誤 - 沒有設置我的連接字符串。