自关联表删除以来第一次启动我的程序时出现此错误:
Microsoft.WindowsAzure.Storage.dll中出现“Microsoft.WindowsAzure.Storage.StorageException”类型的异常,但未在用户代码中处理
其他信息:远程服务器返回错误:(409)冲突。
但是,如果我刷新崩溃的页面,表格将成功创建。
以下是以下代码:
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
Microsoft.WindowsAzure.CloudConfigurationManager.
GetSetting("StorageConnectionString"));
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
CloudTable table = tableClient.GetTableReference("tableTesting");
table.CreateIfNotExists();
如果没有任何内容,我真的不明白我是如何或为什么会遇到冲突错误。
当我使用blob容器时,这些错误也出现在我的代码的其他地方,但我无法轻易地重现它们。
答案 0 :(得分:20)
如果您查看此处的状态代码:http://msdn.microsoft.com/en-us/library/azure/dd179438.aspx,您会注意到在两种情况下会收到409错误代码:
如果我理解正确,table.CreateIfNotExists()
只处理第一种情况,而不处理第二种情况。请检查您的情况是否不是这种情况。检查这一点的一种方法是查看存储异常的详细信息。在某个地方你应该得到与我上面提到的链接相匹配的代码。
另外一个重要的事情是,当你删除表时,它实际上被标记为删除,并且实际上是通过后台进程删除的(很像垃圾收集)。如果您尝试在这两个步骤之间创建表,则会出现第二个错误。