From bc84910e56c041d59fa966737a15fa3fdb7511fa Mon Sep 17 00:00:00 2001 From: Jack251970 <1160210343@qq.com> Date: Mon, 6 Jan 2025 21:30:28 +0800 Subject: [PATCH] Use static HttpClient instance for heavy load issue --- .../PluginsManager.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index a41a82c67..9670f4909 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -17,7 +17,9 @@ namespace Flow.Launcher.Plugin.PluginsManager { internal class PluginsManager { - const string zip = "zip"; + private static readonly HttpClient HttpClient = new(); + + private const string zip = "zip"; private PluginInitContext Context { get; set; } @@ -151,8 +153,7 @@ namespace Flow.Launcher.Plugin.PluginsManager if (File.Exists(filePath)) File.Delete(filePath); - using var httpClient = new HttpClient(); - using var response = await httpClient.GetAsync(plugin.UrlDownload, HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(false); + using var response = await HttpClient.GetAsync(plugin.UrlDownload, HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(false); response.EnsureSuccessStatusCode(); @@ -165,7 +166,7 @@ namespace Flow.Launcher.Plugin.PluginsManager { if (prgBox != null) { - httpClient.CancelPendingRequests(); + HttpClient.CancelPendingRequests(); downloadCancelled = true; prgBox = null; }