59 lines
1.4 KiB
C#
59 lines
1.4 KiB
C#
using EasyCaching.Core;
|
|
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);
|
|
//}
|
|
|
|
}
|
|
}
|