#pragma warning disable VSTHRD100 // Avoid async void methods private async void OnSolutionOpen(object sender, RoutedEventArgs e) #pragma warning restore VSTHRD100 // Avoid async void methods { using (Disable(SolutionOpenButton)) { string fileName = null; while (true) { fileName = FileToOpen.Content as string; if (string.IsNullOrWhiteSpace(fileName)) { OnFileToOpen(sender, e); } else { break; } } // load from BG var solution = await Task.Run( () => SolutionAssetManager.LoadAsync(fileName, _workspace.CurrentSolution, CancellationToken.None)).ConfigureAwait(true); OpenChecksum.Content = await solution.State.GetChecksumAsync(CancellationToken.None).ConfigureAwait(true); } }
#pragma warning disable VSTHRD100 // Avoid async void methods private async void OnSolutionSave(object sender, RoutedEventArgs e) #pragma warning restore VSTHRD100 // Avoid async void methods { using (Disable(SolutionSaveButton)) { string fileName = null; while (true) { fileName = FileToSave.Content as string; if (string.IsNullOrWhiteSpace(fileName)) { OnFileToSave(sender, e); } else { break; } } // save from BG var checksum = await Task.Run( () => SolutionAssetManager.SaveAsync(fileName, _workspace.CurrentSolution, CancellationToken.None)).ConfigureAwait(true); SaveChecksum.Content = checksum.ToString(); } }
public static async Task <Solution> LoadAsync(string fileName, Solution baseSolution, CancellationToken cancellationToken) { var manager = new SolutionAssetManager(fileName, baseSolution); return(await manager.LoadAsync(cancellationToken).ConfigureAwait(false)); }
public static async Task <Checksum> SaveAsync(string fileName, Solution solution, CancellationToken cancellationToken) { var manager = new SolutionAssetManager(fileName, solution); return(await manager.SaveAsync(cancellationToken).ConfigureAwait(false)); }