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