public async Task NextBatch(IBatchContainerBatch batchContainerBatch) { if (this.observer != null) { foreach (var batchContainer in batchContainerBatch.BatchContainers) { bool isRequestContextSet = batchContainer.ImportRequestContext(); try { foreach (var itemTuple in batchContainer.GetEvents <T>()) { await NextItem(itemTuple.Item1, itemTuple.Item2); } } finally { if (isRequestContextSet) { RequestContext.Clear(); } } } } else { await NextItems(batchContainerBatch.BatchContainers.SelectMany(batch => batch.GetEvents <T>())); } }
public async Task NextBatch(IBatchContainerBatch batchContainerBatch) { bool isRequestContextSet; foreach (var batchContainer in batchContainerBatch.BatchContainers) { isRequestContextSet = batchContainer.ImportRequestContext(); foreach (var itemTuple in batchContainer.GetEvents <T>()) { await NextItem(itemTuple.Item1, itemTuple.Item2); } if (isRequestContextSet) { RequestContext.Clear(); } } }