似乎与 Azure 的并发冲突引发异常,其中包含错误代码 412 的消息。除了检查 StorageException 的错误消息是否包含 412 在信息?这似乎是一种真正的字符串类型方法。
最佳答案
使用“RequestInformation.HttpStatusCode 似乎对我有用
try
{
TableOperation operation = TableOperation.Merge(ent);
retval = await table.ExecuteAsync(operation);
}
catch (StorageException sex)
{
if (sex.RequestInformation.HttpStatusCode == (int)HttpStatusCode.PreconditionFailed)
{
TableOperation retrieveOperation = TableOperation.Retrieve<BotSetting>(ent.PartitionKey, ent.RowKey);
TableResult retrievedResult = await table.ExecuteAsync(retrieveOperation);
if (retrievedResult.Result != null)
{
BotSetting bs = retrievedResult.Result as BotSetting;
retval = await TryMerge(table, bs, tries--);
}
}
}
关于Azure 表存储并发问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22818865/