public void RefreshEmailSubscribers() { Log.Info("Beginning to refresh the list of email subscribers"); List <string> lstEmailSubscribers = new List <string>(); object continuationContext = null; try { bool hasMore = true; while (hasMore) { EmailsSubscriptionsBatchResponse response = usersDal.GetNextEmailSubscriptionsBatch(10000, true, continuationContext, SubscriptionType.WeeklyDeals); if (response.EmailSubscriptions != null) { foreach (Users.Dal.DataModel.EmailSubscription emailSubscription in response.EmailSubscriptions) { if (!string.IsNullOrWhiteSpace(emailSubscription.Email)) { lstEmailSubscribers.Add(emailSubscription.Email); } } } hasMore = response.HasMore; continuationContext = response.ContinuationContext; } if (lstEmailSubscribers.Any()) { _emailSubscribers = lstEmailSubscribers; } Log.Info("Finished refreshing the list of email subscribers"); Log.Info("After refresh, In memory list has " + lstEmailSubscribers.Count + " items"); } catch (Exception exception) { Log.Error("Error in refreshing list of email subscribers : {0}", exception.Message); } }