Im davvero nuovo per lo sviluppo di Windows Azure e ha l'obbligo di memorizzare alcuni dati in una tabella di archiviazione di Windows Azure.Il modo corretto di eliminare e ricreare una tabella di memoria di Windows ad azione - Errore 409 Conflitto - Codice: TableBeingDeleted
Questa tabella esiste solo per fornire un meccanismo di ricerca rapida ad alcuni file che si trovano sull'unità di archiviazione blu.
Quindi stavo pensando di popolamento questa tabella applicazione start up (ovvero in applicazione globale di applicazioni web start up)
Piuttosto che cercare di mantenere questa tabella per le modifiche dei cambiamenti che potrebbero verificarsi per l'unità mentre l'applicazione non sta correndo. O dato che questa unità è solo un VHD di risorse, potremmo occasionalmente caricare un nuovo VHD.
Quindi, piuttosto che la seccatura di cercare di mantenere questo. è sufficiente che questa tabella venga ricostruita all'avvio di ciascuna applicazione.
Ho iniziato a mettere insieme un codice per controllare se la tabella esiste già, e se lo elimina, e quindi ricreare una nuova tabella.
var storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["AzureStorage"].ConnectionString);
var tableClient = storageAccount.CreateCloudTableClient();
var rmsTable = tableClient.GetTableReference("ResourceManagerStorage");
rmsTable.DeleteIfExists();
rmsTable.Create();
Mi aspettavo che ciò non funzionasse. E ottengo il seguente errore:
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 è il modo corretto di farlo? C'è un evento che può essere sottoscritto per farti sapere quando la tabella è stata cancellata? Qualche altro suggerimento sul modo migliore per implementarlo?
In alternativa, è possibile attendere e riprovare finché il comando Crea non ha esito positivo. – Igorek
A seconda delle dimensioni della tabella e di molti altri fattori, potrebbe essere molto a lungo. – IngisKahn
Questo è vero, grazie per la correzione – Igorek