Я пытаюсь вставить 10000 записей в хранилище таблиц Azure. Я использую ExecuteAsync() для его достижения, но примерно примерно 7500 записей вставляются, а остальные записи теряются. Я намеренно не использую жду ключевое слово, потому что я не хочу ждать результата, просто хочу сохранить их в таблице. Ниже приведен фрагмент кода.ExecuteAsync() хранилища таблиц Azure, не вставляя все записи
private static async void ConfigureAzureStorageTable()
{
CloudStorageAccount storageAccount =
CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
TableResult result = new TableResult();
CloudTable table = tableClient.GetTableReference("test");
table.CreateIfNotExists();
for (int i = 0; i < 10000; i++)
{
var verifyVariableEntityObject = new VerifyVariableEntity()
{
ConsumerId = String.Format("{0}", i),
Score = String.Format("{0}", i * 2 + 2),
PartitionKey = String.Format("{0}", i),
RowKey = String.Format("{0}", i * 2 + 2)
};
TableOperation insertOperation = TableOperation.Insert(verifyVariableEntityObject);
try
{
table.ExecuteAsync(insertOperation);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
Неправильно ли использование метода?
Если вы не дождались завершения, оно может не закончиться (особенно если ваш процесс завершен). И вы не узнаете о каких-либо ошибках. – SLaks
Если вы не дождались его завершения, это, вероятно, не закончится! – DavidG
Вы решили эту проблему, какие-либо обновления? Вы можете поймать подробное исключение в своем консольном приложении и захватить сетевой пакет через Fiddler, когда вы вставляете записи в Azure Table Storage. –