diff --git a/AutoDispathingWork/AutoDispathingWork.csproj b/AutoDispathingWork/AutoDispathingWork.csproj index 6d9dd7a..34f94d2 100644 --- a/AutoDispathingWork/AutoDispathingWork.csproj +++ b/AutoDispathingWork/AutoDispathingWork.csproj @@ -10,8 +10,9 @@ + - + diff --git a/AutoDispathingWork/Program.cs b/AutoDispathingWork/Program.cs index d71d24a..725a879 100644 --- a/AutoDispathingWork/Program.cs +++ b/AutoDispathingWork/Program.cs @@ -1,5 +1,6 @@ using AutoDispathingWork.Utils; using LiteDB; +using Microsoft.Extensions.FileProviders; using Microsoft.OpenApi.Models; using WorkerService1; using WorkerService1.Dto.Configuration; @@ -43,11 +44,14 @@ builder.Services.AddHostedService(); var app = builder.Build(); + StaticServiceProvider.SetServiceProvider(app.Services); app.UseCors("AllowAllOrigin"); - +#if DEBUG app.UseSwagger(); app.UseSwaggerUI(); +#endif + app.UseDefaultFiles(); app.UseStaticFiles(); app.MapControllers(); diff --git a/AutoDispathingWork/Services/SpiderServices.cs b/AutoDispathingWork/Services/SpiderServices.cs index c8f6fd8..1a2e39d 100644 --- a/AutoDispathingWork/Services/SpiderServices.cs +++ b/AutoDispathingWork/Services/SpiderServices.cs @@ -83,13 +83,19 @@ public class SpiderServices public async Task GetToken() { - return await _memoryCache.GetOrCreateAsync(nameof(GetToken), async entry => + var token = await _memoryCache.GetOrCreateAsync(nameof(GetToken), async entry => { var loginRes = await Login(); - if (!loginRes.IsSuccess) return null; + if (!loginRes.IsSuccess) + { + entry.AbsoluteExpiration = DateTimeOffset.Now; + return null; + } entry.AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(loginRes.Result?.ExpireTime ?? 0); return loginRes.Result?.Token; }); + if(string.IsNullOrWhiteSpace(token)) _memoryCache.Remove(nameof(GetToken)); + return token; }