2010-07-10 93 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项目属性中定义(或缺少)连接字符串的错误。 修复: 右键单击云应用程序中“角色”文件夹下的卷轴。从上下文菜单中选择“属性”。 选择“设置”选项卡。 验证或添加您将用于初始化表存储的连接字符串的设置。

矿是一个简单的错误 - 没有设置我的连接字符串。