From 9d405b3f1bd3fa10ad8768111a3d3f768ad7ea36 Mon Sep 17 00:00:00 2001 From: "{872297557@qq.com}" <872297557@qq.com> Date: Tue, 7 Feb 2023 09:47:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=89=8D=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E7=95=99=E5=AD=98=E5=90=8C=E6=AD=A5=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessFilter/TrialResourceFilter.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/BusinessFilter/TrialResourceFilter.cs b/IRaCIS.Core.Application/BusinessFilter/TrialResourceFilter.cs index 7c3bb5fd..14f0a78e 100644 --- a/IRaCIS.Core.Application/BusinessFilter/TrialResourceFilter.cs +++ b/IRaCIS.Core.Application/BusinessFilter/TrialResourceFilter.cs @@ -165,10 +165,17 @@ namespace IRaCIS.Core.Application.Filter var cacheResultDic = _provider.GetAll(new[] { trialIdStr }); - var trialStatusStr = cacheResultDic[trialIdStr]; + var trialStatusStr = cacheResultDic[trialIdStr].Value; + + //意外 导致缓存过期,调整服务器时间,测试不想重启程序 + if (string.IsNullOrWhiteSpace(trialStatusStr)) + { + var trialRepository = context.HttpContext.RequestServices.GetService(typeof(IRepository)) as IRepository; + trialStatusStr = trialRepository?.Where(t => t.Id == Guid.Parse(trialIdStr)).Select(t => t.TrialStatusStr).FirstOrDefault(); + } // 这里是统一拦截 项目有关的操作允许情况(特殊的地方,比如项目配置(有的在多种状态(初始化,ongoing)都可以操作,有的仅仅在Initializing)还有 项目添加和更新,不走这里,特殊处理,不然在这里显得很乱,判断是哪个接口) - if (trialStatusStr.Value == StaticData.TrialState.TrialOngoing || _trialOptList.Any(t=>t== TrialOpt.BeforeOngoingCantOpt) ) + if (trialStatusStr == StaticData.TrialState.TrialOngoing || _trialOptList.Any(t=>t== TrialOpt.BeforeOngoingCantOpt) ) { await next.Invoke();