diff --git a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs index fbffda7fa..42cbe3dee 100644 --- a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs +++ b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs @@ -281,7 +281,12 @@ namespace IRaCIS.Core.API.Controllers } } - await _uploadHub.Clients.All.ReceivProgressAsync(archiveStudyCommand.StudyInstanceUid, receivedCount); + //await _uploadHub.Clients.All.ReceivProgressAsync(archiveStudyCommand.StudyInstanceUid, receivedCount); + + + await _uploadHub.Clients.User(_userInfo.Id.ToString()).ReceivProgressAsync(archiveStudyCommand.StudyInstanceUid, receivedCount); + + } catch (Exception e) diff --git a/IRaCIS.Core.API/SignalRHub/UploadHub.cs b/IRaCIS.Core.API/SignalRHub/UploadHub.cs index 05937c83b..9e4de3285 100644 --- a/IRaCIS.Core.API/SignalRHub/UploadHub.cs +++ b/IRaCIS.Core.API/SignalRHub/UploadHub.cs @@ -14,6 +14,14 @@ namespace IRaCIS.Core.API } + public class IRaCISUserIdProvider : IUserIdProvider + { + public virtual string GetUserId(HubConnectionContext connection) + { + return connection.User?.FindFirst(JwtIRaCISClaimType.Id)?.Value!; + } + } + //[Authorize] [AllowAnonymous] [DisableCors] diff --git a/IRaCIS.Core.API/Startup.cs b/IRaCIS.Core.API/Startup.cs index d1787e320..fbb8598e8 100644 --- a/IRaCIS.Core.API/Startup.cs +++ b/IRaCIS.Core.API/Startup.cs @@ -21,6 +21,7 @@ using Magicodes.ExporterAndImporter.Core.Filters; using IRaCIS.Core.Application.MediatR.CommandAndQueries; using IRaCIS.Core.Infra.EFCore.Common; using Invio.Extensions.Authentication.JwtBearer; +using Microsoft.AspNetCore.SignalR; namespace IRaCIS.Core.API { @@ -149,21 +150,8 @@ namespace IRaCIS.Core.API // 实时应用 services.AddSignalR(); - ////设置跨域访问 - //services.AddCors(options => - //{ - // //hub使用 - // options.AddPolicy("any", builder => - // { - // builder - // .AllowAnyMethod() - // .AllowAnyHeader() - // .AllowAnyOrigin() - // .DisallowCredentials(); - // }); - // //公开使用 - - //}); + + services.AddSingleton(); //services.AddSingleton();