using Kean.Domain.Identity.Commands; using Kean.Domain.Identity.Models; using Kean.Domain.Identity.Repositories; using System.Threading; using System.Threading.Tasks; namespace Kean.Domain.Identity.CommandHandlers { /// /// 连线命令处理程序 /// public sealed class ConnectCommandHandler : CommandHandler { private readonly ISessionRepository _sessionRepository; // 会话仓库 /// /// 依赖注入 /// public ConnectCommandHandler( ISessionRepository sessionRepository) { _sessionRepository = sessionRepository; } /// /// 处理程序 /// public override async Task Handle(ConnectCommand command, CancellationToken cancellationToken) { if (command.ValidationResult.IsValid) { await _sessionRepository.RegisterConnection(new Session(command.Token), command.Id); } } } }