/// <summary> /// Suspend the requester and preserve any unsent URIs. /// </summary> /// <returns>Task that completes when the requester has been suspended.</returns> private static async Task SuspendRequesterAsync() { var recentRequestsToPersist = new List <Uri>(); if (requester.IsStarted) { var pendingRequests = await requester.StopAsync(); recentRequestsToPersist = pendingRequests.Skip(pendingRequests.Count - MaximumRequestsToPersist).ToList(); } await LocalFolderContractSerializer <List <Uri> > .SaveAsync(recentRequestsToPersist, RequestQueueFileName); await SaveSessionState(sessionManager.GetState()); }