From 1839142ffb129dbd83a49fe9625dc19101f2d9ed Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 17 Nov 2021 14:49:32 +0800 Subject: [PATCH 1/2] Skip `WebSocketRequest` in `MvcCachedApplicationConfigurationClient`. --- .../Client/MvcCachedApplicationConfigurationClient.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs index b2f77315fb..3a1142b54c 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs @@ -45,21 +45,23 @@ namespace Volo.Abp.AspNetCore.Mvc.Client var cacheKey = CreateCacheKey(); var httpContext = HttpContextAccessor?.HttpContext; - if (httpContext != null && httpContext.Items[cacheKey] is ApplicationConfigurationDto configuration) + if (httpContext != null && !httpContext.WebSockets.IsWebSocketRequest && httpContext.Items[cacheKey] is ApplicationConfigurationDto configuration) { + return configuration; } + configuration = await Cache.GetOrAddAsync( cacheKey, async () => await ApplicationConfigurationAppService.GetAsync(), () => new DistributedCacheEntryOptions { - AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(300) //TODO: Should be configurable. + AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(30) //TODO: Should be configurable. } ); - if (httpContext != null) + if (httpContext != null && !httpContext.WebSockets.IsWebSocketRequest) { httpContext.Items[cacheKey] = configuration; } @@ -72,7 +74,7 @@ namespace Volo.Abp.AspNetCore.Mvc.Client var cacheKey = CreateCacheKey(); var httpContext = HttpContextAccessor?.HttpContext; - if (httpContext != null && httpContext.Items[cacheKey] is ApplicationConfigurationDto configuration) + if (httpContext != null && !httpContext.WebSockets.IsWebSocketRequest && httpContext.Items[cacheKey] is ApplicationConfigurationDto configuration) { return configuration; } From 8a1a2fbc805dbce153e1bcee01ac8c49286ac365 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 17 Nov 2021 14:50:27 +0800 Subject: [PATCH 2/2] Update MvcCachedApplicationConfigurationClient.cs --- .../Mvc/Client/MvcCachedApplicationConfigurationClient.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs index 3a1142b54c..6c67031da9 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs @@ -57,7 +57,7 @@ namespace Volo.Abp.AspNetCore.Mvc.Client async () => await ApplicationConfigurationAppService.GetAsync(), () => new DistributedCacheEntryOptions { - AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(30) //TODO: Should be configurable. + AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(300) //TODO: Should be configurable. } );