From ef81a4c27effd28be1dc69428ca77421a2a38230 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Fri, 5 Aug 2022 17:22:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9hub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/UploadDownLoadController.cs | 7 ++++++- IRaCIS.Core.API/SignalRHub/UploadHub.cs | 8 ++++++++ IRaCIS.Core.API/Startup.cs | 18 +++--------------- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs index fbffda7f..42cbe3de 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 05937c83..9e4de328 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 d1787e32..fbb8598e 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();