Я не знаю, нужно ли учитывать ETag для предотвращения одновременной работы нескольких потоков одним объектом.Ниже приведена моя текущая реализация:
public void UpdateElement(T element)
{
Exceptions.ThrowIfNull(element, "record");
var partitionKey = element.PartitionKey;
var rowKey = element.RowKey;
var result = Table.Execute(TableOperation.Retrieve<T>(partitionKey, rowKey));
if (result?.Result != null)
{
Table.Execute(TableOperation.Replace(element));
}
}
Итак, я пытаюсь добиться того, чтобы поток A и поток B одновременно работали с одним и тем же объектом, а поток A сначала обновил этот объект.Когда поток B пытается обновить его, мы должны дать потоку B сообщение об ошибке «Вы не можете выполнить действие обновления».