4

似乎与 Azure 的并发冲突会引发异常,并带有包含错误代码 412 的消息。除了检查 StorageException 的错误消息是否包含 412信息?这似乎是一种真正的字符串类型方法。

4

1 回答 1

2

使用“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--);
            }
        }
    }
于 2017-12-05T04:01:13.263 回答