diff --git a/src/MaaWpfGui/Helper/ETagCache.cs b/src/MaaWpfGui/Helper/ETagCache.cs index ed32614cae..ac3235644a 100644 --- a/src/MaaWpfGui/Helper/ETagCache.cs +++ b/src/MaaWpfGui/Helper/ETagCache.cs @@ -73,10 +73,10 @@ namespace MaaWpfGui.Helper Save(); } - public static void Set(HttpResponseMessage? response) + // UPDATE: 重定向会导致 uri 变成其他地址,导致存的 ETag 无法匹配原始地址,所以要传入原始地址 + public static void Set(HttpResponseMessage? response, string uri) { var etag = response?.Headers.ETag?.Tag; - var uri = response?.RequestMessage?.RequestUri?.ToString(); if (string.IsNullOrEmpty(uri) || string.IsNullOrEmpty(etag)) { return; diff --git a/src/MaaWpfGui/Services/Web/MaaApiService.cs b/src/MaaWpfGui/Services/Web/MaaApiService.cs index 7676f6d7c7..2ccad878b6 100644 --- a/src/MaaWpfGui/Services/Web/MaaApiService.cs +++ b/src/MaaWpfGui/Services/Web/MaaApiService.cs @@ -57,7 +57,7 @@ namespace MaaWpfGui.Services.Web await File.WriteAllTextAsync(cache, body); - ETagCache.Set(response); + ETagCache.Set(response, url); return json; } diff --git a/src/MaaWpfGui/ViewModels/UI/AnnouncementViewModel.cs b/src/MaaWpfGui/ViewModels/UI/AnnouncementViewModel.cs index 6881079305..cb811b6a80 100644 --- a/src/MaaWpfGui/ViewModels/UI/AnnouncementViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/AnnouncementViewModel.cs @@ -257,7 +257,7 @@ namespace MaaWpfGui.ViewModels.UI DoNotRemindThisAnnouncementAgain = false; } - ETagCache.Set(response); + ETagCache.Set(response, url); ETagCache.Save(); }