From a6f4fd7f497b75d50687d577cb7ab6cdb1296f5d Mon Sep 17 00:00:00 2001 From: Jonas Nyrup Date: Mon, 11 Apr 2022 21:23:16 +0200 Subject: [PATCH 1/2] explicit disposal --- QuestPDF.Previewer/Helpers.cs | 5 +---- QuestPDF.Previewer/PreviewerWindowViewModel.cs | 2 +- QuestPDF/Previewer/PreviewerExtensions.cs | 2 +- QuestPDF/Previewer/PreviewerService.cs | 13 +++++++------ 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/QuestPDF.Previewer/Helpers.cs b/QuestPDF.Previewer/Helpers.cs index fe0a809..b01c2f3 100644 --- a/QuestPDF.Previewer/Helpers.cs +++ b/QuestPDF.Previewer/Helpers.cs @@ -8,16 +8,13 @@ class Helpers { using var stream = File.Create(filePath); - var document = SKDocument.CreatePdf(stream); + using var document = SKDocument.CreatePdf(stream); foreach (var page in pages) { using var canvas = document.BeginPage(page.Width, page.Height); canvas.DrawPicture(page.Picture); document.EndPage(); - canvas.Dispose(); } - - document.Close(); } } \ No newline at end of file diff --git a/QuestPDF.Previewer/PreviewerWindowViewModel.cs b/QuestPDF.Previewer/PreviewerWindowViewModel.cs index 4246ed5..fa353c9 100644 --- a/QuestPDF.Previewer/PreviewerWindowViewModel.cs +++ b/QuestPDF.Previewer/PreviewerWindowViewModel.cs @@ -63,7 +63,7 @@ namespace QuestPDF.Previewer private void OpenLink(string path) { - var openBrowserProcess = new Process + using var openBrowserProcess = new Process { StartInfo = new() { diff --git a/QuestPDF/Previewer/PreviewerExtensions.cs b/QuestPDF/Previewer/PreviewerExtensions.cs index b3c401c..17eadbc 100644 --- a/QuestPDF/Previewer/PreviewerExtensions.cs +++ b/QuestPDF/Previewer/PreviewerExtensions.cs @@ -20,7 +20,7 @@ namespace QuestPDF.Previewer { var previewerService = new PreviewerService(port); - var cancellationTokenSource = new CancellationTokenSource(); + using var cancellationTokenSource = new CancellationTokenSource(); previewerService.OnPreviewerStopped += () => cancellationTokenSource.Cancel(); await previewerService.Connect(); diff --git a/QuestPDF/Previewer/PreviewerService.cs b/QuestPDF/Previewer/PreviewerService.cs index 5884003..1cc0f6b 100644 --- a/QuestPDF/Previewer/PreviewerService.cs +++ b/QuestPDF/Previewer/PreviewerService.cs @@ -46,7 +46,7 @@ namespace QuestPDF.Previewer { try { - var result = await HttpClient.GetAsync("/ping"); + using var result = await HttpClient.GetAsync("/ping"); return result.IsSuccessStatusCode; } catch @@ -57,7 +57,7 @@ namespace QuestPDF.Previewer private async Task GetPreviewerVersion() { - var result = await HttpClient.GetAsync("/version"); + using var result = await HttpClient.GetAsync("/version"); return await result.Content.ReadFromJsonAsync(); } @@ -81,6 +81,7 @@ namespace QuestPDF.Previewer Task.Run(async () => { await process.WaitForExitAsync(); + process.Dispose(); OnPreviewerStopped?.Invoke(); }); } @@ -103,14 +104,14 @@ namespace QuestPDF.Previewer private async Task WaitForConnection() { - var cancellationTokenSource = new CancellationTokenSource(); + using var cancellationTokenSource = new CancellationTokenSource(); cancellationTokenSource.CancelAfter(TimeSpan.FromSeconds(10)); var cancellationToken = cancellationTokenSource.Token; while (true) { - await Task.Delay(TimeSpan.FromMilliseconds(250)); + await Task.Delay(TimeSpan.FromMilliseconds(250), cancellationToken); if (cancellationToken.IsCancellationRequested) throw new Exception($"Cannot connect to the QuestPDF Previewer tool. Please make sure that your Operating System does not block HTTP connections on port {Port}."); @@ -124,7 +125,7 @@ namespace QuestPDF.Previewer public async Task RefreshPreview(ICollection pictures) { - var multipartContent = new MultipartFormDataContent(); + using var multipartContent = new MultipartFormDataContent(); var pages = new List(); @@ -149,7 +150,7 @@ namespace QuestPDF.Previewer multipartContent.Add(JsonContent.Create(command), "command"); - await HttpClient.PostAsync("/update/preview", multipartContent); + using var _ = await HttpClient.PostAsync("/update/preview", multipartContent); foreach (var picture in pictures) picture.Picture.Dispose(); From 2beee1d22e15ad0b90cfe54b3db538dd31b0d172 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Zi=C4=85bek?= Date: Fri, 6 May 2022 20:59:06 +0200 Subject: [PATCH 2/2] Update PreviewerService.cs --- QuestPDF/Previewer/PreviewerService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QuestPDF/Previewer/PreviewerService.cs b/QuestPDF/Previewer/PreviewerService.cs index 1cc0f6b..69a83a6 100644 --- a/QuestPDF/Previewer/PreviewerService.cs +++ b/QuestPDF/Previewer/PreviewerService.cs @@ -111,7 +111,7 @@ namespace QuestPDF.Previewer while (true) { - await Task.Delay(TimeSpan.FromMilliseconds(250), cancellationToken); + await Task.Delay(TimeSpan.FromMilliseconds(250)); if (cancellationToken.IsCancellationRequested) throw new Exception($"Cannot connect to the QuestPDF Previewer tool. Please make sure that your Operating System does not block HTTP connections on port {Port}.");