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>()));
     }
 }
예제 #2
0
        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();
                }
            }
        }