irc-netcore-api/IRaCIS.Core.API/SignalRHub/UploadHub.cs

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.IdentityUserId)?.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);
//}
}
}