抛出了“Microsoft.WindowsAzure.StorageClient.StorageClientException”类型的异常

时间:2010-07-10 22:38:04

标签: azure storage

抛出了“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");
}

3 个答案:

答案 0 :(得分:4)

我总是给Windows Azure表提供驼峰名称而没有问题。

我想知道您是否已经使用过此表名并最近删除了它?删除后的一段时间(当表仍然是异步删除时),您将无法重新创建它。我相信409 Conflict是在这种情况下预期的错误代码。

答案 1 :(得分:2)

我同意史蒂夫马克思的说法,套管似乎并没有影响到这个问题。实际上,Microsoft的Azure诊断表是使用不寻常的外壳创建的,例如:WADPerformanceCounters。即使在开发环境中我也遇到了问题。所以这完全是另一回事 - 我的意见。

在我的情况下修复了错误:问题是webrole或workerrole项目属性中定义的连接字符串错误(或缺少)。 固定: 右键单击云应用程序中“Roles”文件夹下的webrole。从上下文菜单中选择“属性”。 选择“设置”选项卡。 验证或添加用于初始化表存储的连接字符串的设置。

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

答案 2 :(得分:-1)

轻松修复是将“EmailAddress”更改为“Emailaddress”。由于某些原因,它不允许CamelCasing。所以请确保,您在表格的名称中只有一个大写字母也在开头。由于表名不区分大小写,因此您也可以将其命名为“emailaddress”