diff --git a/IRC.Core.SCP/Program.cs b/IRC.Core.SCP/Program.cs index 39a3ddfca..cef82f4f5 100644 --- a/IRC.Core.SCP/Program.cs +++ b/IRC.Core.SCP/Program.cs @@ -126,16 +126,22 @@ builder.Services.Configure(options => ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto; }); + +builder.Services.AddFellowOakDicom().AddTranscoderManager() + //.AddTranscoderManager() + .AddImageManager(); + + //Dicom影像渲染图片 跨平台 //builder.Services.AddDicomSetup(); -new DicomSetupBuilder() - .RegisterServices(s => - s.AddFellowOakDicom() - .AddTranscoderManager() - //.AddTranscoderManager() - .AddImageManager()) - .SkipValidation() - .Build(); +//new DicomSetupBuilder() +// .RegisterServices(s => +// s.AddFellowOakDicom() +// .AddTranscoderManager() +// //.AddTranscoderManager() +// .AddImageManager()) +// .SkipValidation() +// .Build(); @@ -211,6 +217,8 @@ else #endregion +DicomSetupBuilder.UseServiceProvider(app.Services); + var logger = app.Services.GetService>(); var server = DicomServerFactory.Create(_configuration.GetSection("DicomSCPServiceConfig").GetValue("ServerPort"), userState: app.Services,logger: logger); diff --git a/IRC.Core.SCP/Service/CStoreSCPService.cs b/IRC.Core.SCP/Service/CStoreSCPService.cs index 25fa9adcf..1fdecfc21 100644 --- a/IRC.Core.SCP/Service/CStoreSCPService.cs +++ b/IRC.Core.SCP/Service/CStoreSCPService.cs @@ -76,9 +76,10 @@ namespace IRaCIS.Core.SCP.Service }; - public CStoreSCPService(INetworkStream stream, Encoding fallbackEncoding, Microsoft.Extensions.Logging.ILogger log, DicomServiceDependencies dependencies) + public CStoreSCPService(INetworkStream stream, Encoding fallbackEncoding, Microsoft.Extensions.Logging.ILogger log, DicomServiceDependencies dependencies, IServiceProvider injectServiceProvider) : base(stream, fallbackEncoding, log, dependencies) { + _serviceProvider = injectServiceProvider.CreateScope().ServiceProvider; } @@ -92,9 +93,7 @@ namespace IRaCIS.Core.SCP.Service Log.Logger.Warning($"接收到来自{association.CallingAE}的连接"); - _serviceProvider = (IServiceProvider)this.UserState; - - + //_serviceProvider = (IServiceProvider)this.UserState; var _trialDicomAERepository = _serviceProvider.GetService>();