From 922e61a6369be269fe94e13709750fb9cd5b98cb Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Mon, 21 Oct 2024 17:06:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9scp=20=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E7=BC=A9=E7=95=A5=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRC.Core.SCP/Service/CStoreSCPService.cs | 2 +- IRC.Core.SCP/Service/DicomArchiveService.cs | 8 ++--- .../Serilog/SerilogConfig.cs | 32 ++++++++++--------- .../Serilog/SerilogSetup.cs | 1 + 4 files changed, 23 insertions(+), 20 deletions(-) diff --git a/IRC.Core.SCP/Service/CStoreSCPService.cs b/IRC.Core.SCP/Service/CStoreSCPService.cs index fe1f91e00..1f2dae205 100644 --- a/IRC.Core.SCP/Service/CStoreSCPService.cs +++ b/IRC.Core.SCP/Service/CStoreSCPService.cs @@ -315,7 +315,7 @@ namespace IRaCIS.Core.SCP.Service _SCPStudyIdList.Add(scpStudyId); } - var series = await _seriesRepository.FindAsync(seriesId); + var series = await _seriesRepository.FirstOrDefaultAsync(t => t.Id == seriesId); //没有缩略图 if (series != null && string.IsNullOrEmpty(series.ImageResizePath)) diff --git a/IRC.Core.SCP/Service/DicomArchiveService.cs b/IRC.Core.SCP/Service/DicomArchiveService.cs index ac0edd173..e522f6690 100644 --- a/IRC.Core.SCP/Service/DicomArchiveService.cs +++ b/IRC.Core.SCP/Service/DicomArchiveService.cs @@ -75,9 +75,9 @@ namespace IRaCIS.Core.SCP.Service //using (@lock.Acquire()) { var findPatient = await _patientRepository.FirstOrDefaultAsync(t => t.PatientIdStr == patientIdStr && t.TrialSiteId==trialSiteId ); - var findStudy = await _studyRepository.FindAsync(studyId); - var findSerice = await _seriesRepository.FindAsync(seriesId); - var findInstance = await _instanceRepository.FindAsync(instanceId); + var findStudy = await _studyRepository.FirstOrDefaultAsync(t=>t.Id== studyId); + var findSerice = await _seriesRepository.FirstOrDefaultAsync(t => t.Id == seriesId); + var findInstance = await _instanceRepository.FirstOrDefaultAsync(t => t.Id == instanceId); DateTime? studyTime = dataset.GetSingleValueOrDefault(DicomTag.StudyDate, string.Empty) == string.Empty ? null : dataset.GetSingleValue(DicomTag.StudyDate).Add(dataset.GetSingleValueOrDefault(DicomTag.StudyTime, string.Empty) == string.Empty ? TimeSpan.Zero : dataset.GetSingleValue(DicomTag.StudyTime).TimeOfDay); @@ -307,7 +307,7 @@ namespace IRaCIS.Core.SCP.Service await _instanceRepository.BatchUpdateNoTrackingAsync(t => t.Id == instanceId, u => new SCPInstance() { Path = fileRelativePath,FileSize=fileSize }); } - //await _studyRepository.SaveChangesAsync(); + await _studyRepository.SaveChangesAsync(); return findStudy.Id; } diff --git a/IRaCIS.Core.API/_PipelineExtensions/Serilog/SerilogConfig.cs b/IRaCIS.Core.API/_PipelineExtensions/Serilog/SerilogConfig.cs index 79496bf3e..217197d86 100644 --- a/IRaCIS.Core.API/_PipelineExtensions/Serilog/SerilogConfig.cs +++ b/IRaCIS.Core.API/_PipelineExtensions/Serilog/SerilogConfig.cs @@ -20,7 +20,7 @@ namespace IRaCIS.Core.API => { - opts.MessageTemplate = "{TokenUserRealName} {TokenUserTypeShortName} {ClientIp} {LocalIP} {Host} {Protocol} {RequestMethod} {RequestPath} {RequestBody} responded {StatusCode} in {Elapsed:0.0000} ms"; + opts.MessageTemplate = "{TokenUserRealName} {TokenUserTypeShortName} {ClientIp} {LocalIP} {Host} {RequestMethod} {RequestPath} {RequestBody} responded {StatusCode} in {Elapsed:0.0000} ms"; opts.EnrichDiagnosticContext = (diagnosticContext, httpContext) => { @@ -30,20 +30,8 @@ namespace IRaCIS.Core.API // Set all the common properties available for every request diagnosticContext.Set("Host", request.Host); - diagnosticContext.Set("Protocol", request.Protocol); - diagnosticContext.Set("Scheme", request.Scheme); - - #region old 未用 - //这种获取的Ip不准 配置服务才行 - //diagnosticContext.Set("RequestIP", httpContext.Connection.RemoteIpAddress.ToString()); - - //这种方式可以,但是serilog提供了 就不用了 - //diagnosticContext.Set("TestIP", httpContext.GetUserIp()); - - //这种方式不行 读取的body为空字符串 必须在中间件中读取 - //diagnosticContext.Set("RequestBody", await ReadRequestBody(httpContext.Request)); - //diagnosticContext.Set("RequestBody", RequestPayload); - #endregion + //diagnosticContext.Set("Protocol", request.Protocol); + //diagnosticContext.Set("Scheme", request.Scheme); // Only set it if available. You're not sending sensitive data in a querystring right?! if (request.QueryString.HasValue) @@ -64,6 +52,20 @@ namespace IRaCIS.Core.API { diagnosticContext.Set("EndpointName", endpoint.DisplayName); } + + #region old 未用 + //这种获取的Ip不准 配置服务才行 + //diagnosticContext.Set("RequestIP", httpContext.Connection.RemoteIpAddress.ToString()); + + //这种方式可以,但是serilog提供了 就不用了 + //diagnosticContext.Set("TestIP", httpContext.GetUserIp()); + + //这种方式不行 读取的body为空字符串 必须在中间件中读取 + //diagnosticContext.Set("RequestBody", await ReadRequestBody(httpContext.Request)); + //diagnosticContext.Set("RequestBody", RequestPayload); + #endregion + + }; }); diff --git a/IRaCIS.Core.API/_ServiceExtensions/Serilog/SerilogSetup.cs b/IRaCIS.Core.API/_ServiceExtensions/Serilog/SerilogSetup.cs index 848de4d7d..d78546dfa 100644 --- a/IRaCIS.Core.API/_ServiceExtensions/Serilog/SerilogSetup.cs +++ b/IRaCIS.Core.API/_ServiceExtensions/Serilog/SerilogSetup.cs @@ -31,6 +31,7 @@ namespace IRaCIS.Core.API //https://github.com/serilog/serilog-formatting-compact // 控制台输出 JSON 格式 .WriteTo.Console(restrictedToMinimumLevel: LogEventLevel.Warning, + formatter: new CompactJsonFormatter()) // 文件输出 JSON 格式