A maneira correta de excluir e recriar uma tabela de armazenamento do Windows Azure = Erro 409 Conflito - Código: TableBeingDeleted

Sou muito novo no desenvolvimento do Windows Azure e tenho um requisito para armazenar alguns dados em uma tabela de armazenamento do windows azul.

Essa tabela realmente existirá para fornecer um mecanismo de pesquisa rápida para alguns arquivos que estão localizados na unidade de armazenamento do Azure.

Portanto, eu estava planejando preencher essa tabela na inicialização do aplicativo (ou seja, na inicialização do aplicativo global do aplicativo da web)

Em vez de tentar manter essa tabela para alterar as alterações que podem ocorrer na unidade enquanto o aplicativo não está em execução. Ou como esta unidade é apenas um grande volume de recursos, podemos ocasionalmente carregar um novo vhd.

Então, ao invés do incômodo de tentar manter isso. é suficiente que essa tabela seja reconstruída no início de cada aplicativo.

Eu comecei a juntar algum código para verificar se a tabela já existe, e se ela é deletada, e depois recriar uma nova tabela.

var storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["AzureStorage"].ConnectionString);
var tableClient = storageAccount.CreateCloudTableClient();
var rmsTable = tableClient.GetTableReference("ResourceManagerStorage");
rmsTable.DeleteIfExists();
rmsTable.Create();

Eu esperava que isso não funcionasse. E recebo o seguinte erro:

The remote server returned an error: (409) Conflict. 

HTTP/1.1 409 Conflict
Cache-Control: no-cache
Transfer-Encoding: chunked
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: c6baf92e-de47-4a6d-82b3-4faec637a98c
x-ms-version: 2012-02-12
Date: Tue, 19 Mar 2013 17:26:25 GMT

166
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
  <code>TableBeingDeleted</code>
  <message xml:lang="en-US">The specified table is being deleted. Try operation later.
RequestId:c6baf92e-de47-4a6d-82b3-4faec637a98c
Time:2013-03-19T17:26:26.2612698Z</message>
</error>
0

Qual é a maneira correta de fazer isso? Existe um evento que pode ser inscrito para informar quando a tabela foi excluída? Alguma outra sugestão sobre a melhor maneira de implementar isso?

questionAnswers(2)

yourAnswerToTheQuestion