我试图将10000条记录插入到Azure表存储中。我正在使用ExecuteAsync()来实现它,但不知怎的,插入了约7500条记录,其余记录都丢失了。我故意不使用等待关键字,因为我不想等待结果,只是想将它们存储在表中。以下是我的代码片段。Azure表存储的ExecuteAsync()存储无法插入所有记录
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
你解决了这个问题,有没有更新?您可以在控制台应用程序中捕捉到详细的异常,并在将记录插入到Azure表存储器时通过Fiddler捕获网络包。 –