How can I run two asynchronous methods in one transaction?
For example:
var batchIds = new ConcurrentBag<int>();
var trans = redis.CreateTransaction();
var task = trans.ListRangeAsync(AllItems, 0L, batchSize - 1).ContinueWith(t =>
{
t?.Result.ToList().ForEach(x => batchIds.Add(JsonConvert.DeserializeObject<StockItemDto>(x).Id));
}).ContinueWith(t=>{ trans.ListTrimAsync(AllItems, batchSize, -1); }); // This not work
// This work but I'm not sure if taskRemove run exaclly after task
var taskRemove = trans.ListTrimAsync(AllItems, batchSize, -1);
trans.Execute(CommandFlags.FireAndForget);
Task.WaitAll(task, taskRemove);
Maybe someone knows how to get a range from list and later remove this range in transaction?