58 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
| using IRaCIS.Core.Domain.Share;
 | |
| using Microsoft.AspNetCore.Authorization;
 | |
| using Microsoft.AspNetCore.Cors;
 | |
| using Microsoft.AspNetCore.SignalR;
 | |
| using Microsoft.Extensions.Logging;
 | |
| using System.Threading.Tasks;
 | |
| 
 | |
| namespace IRaCIS.Core.API
 | |
| {
 | |
|     public interface IUploadClient
 | |
|     {
 | |
|         Task ReceivProgressAsync(string studyInstanceUid, int haveReceivedCount);
 | |
|     }
 | |
| 
 | |
| 
 | |
|     public class IRaCISUserIdProvider : IUserIdProvider
 | |
|     {
 | |
|         public virtual string GetUserId(HubConnectionContext connection)
 | |
|         {
 | |
|             return connection.User?.FindFirst(JwtIRaCISClaimType.Id)?.Value!;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     [AllowAnonymous]
 | |
|     [DisableCors]
 | |
|     public class UploadHub : Hub<IUploadClient>
 | |
|     {
 | |
| 
 | |
|         public ILogger<UploadHub> _logger { get; set; }
 | |
|         //public IUserInfo _userInfo { get; set; }
 | |
|         public UploadHub(/*IUserInfo userInfo,*/ ILogger<UploadHub> logger)
 | |
|         {
 | |
|             //_userInfo = userInfo;
 | |
| 
 | |
|             _logger = logger;
 | |
|         }
 | |
| 
 | |
|         public override Task OnConnectedAsync()
 | |
|         {
 | |
|             //base.Context.User.id
 | |
| 
 | |
| 
 | |
|             _logger.LogError("连接: " + Context.ConnectionId);
 | |
| 
 | |
| 
 | |
|             return base.OnConnectedAsync();
 | |
|         }
 | |
| 
 | |
|         //public async Task SendProgress(string studyInstanceUid, int haveReceivedCount)
 | |
|         //{
 | |
| 
 | |
| 
 | |
|         //    await Clients.All.ReceivProgressAsync(studyInstanceUid, haveReceivedCount);
 | |
|         //}
 | |
| 
 | |
|     }
 | |
| }
 |