/// <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()); }
/// <summary> /// Save the session state to preserve state between application launches. /// </summary> /// <returns>Task that completes when the session state has been saved.</returns> protected override async Task Save <T>(T data, string name) { await LocalFolderContractSerializer <T> .SaveAsync(data, name); }
/// <summary> /// Save the session state to preserve state between application launches. /// </summary> /// <returns>Task that completes when the session state has been saved.</returns> private static async Task SaveSessionState(SessionState sessionState) { await LocalFolderContractSerializer <SessionState> .SaveAsync(sessionState, SessionStateFileName); }