public async Task ExecuteTasksAsync(DeferredTaskContext context) { for (var i = 0; i < _deferredTaskState.Tasks.Count; i++) { var task = _deferredTaskState.Tasks[i]; try { await task(context); } catch (Exception e) { _logger.LogError("An error occured while processing a deferred task: {0}", e); } } _deferredTaskState.Tasks.Clear(); }