From 7eac7b083762ba6c36dae7df27df5fe74c160f4a Mon Sep 17 00:00:00 2001 From: ChsBuffer <33744752+chsbuffer@users.noreply.github.com> Date: Fri, 16 Jul 2021 05:40:21 +0800 Subject: [PATCH] Fixup Touch Configuration File --- Netch/Utils/Configuration.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Netch/Utils/Configuration.cs b/Netch/Utils/Configuration.cs index 828dace9..2d266422 100644 --- a/Netch/Utils/Configuration.cs +++ b/Netch/Utils/Configuration.cs @@ -112,13 +112,11 @@ namespace Netch.Utils var tempFile = Path.Combine(DataDirectoryFullName, FileFullName + ".tmp"); await using (var fileStream = new FileStream(tempFile, FileMode.Create, FileAccess.Write, FileShare.None, 4096, true)) - await using (fileStream.ConfigureAwait(false)) { - await JsonSerializer.SerializeAsync(fileStream, Global.Settings, JsonSerializerOptions).ConfigureAwait(false); + await JsonSerializer.SerializeAsync(fileStream, Global.Settings, JsonSerializerOptions); } - if (!File.Exists(FileFullName)) - File.Create(FileFullName); + await EnsureConfigFileExistsAsync(); File.Replace(tempFile, FileFullName, BackupFileFullName); } @@ -127,5 +125,13 @@ namespace Netch.Utils Log.Error(e, "保存配置异常"); } } + + private static async ValueTask EnsureConfigFileExistsAsync() + { + if (!File.Exists(FileFullName)) + { + await File.Create(FileFullName).DisposeAsync(); + } + } } } \ No newline at end of file