using Kean.Domain.Basic.Events; using Kean.Domain.Basic.Repositories; using System.Threading; using System.Threading.Tasks; namespace Kean.Domain.Basic.EventHandlers { /// /// 删除用户成功时,清理会话及相关缓存 /// public sealed class DeleteUserSuccessEventHandler_Session : EventHandler { private readonly IUserRepository _userRepository; // 用户仓库 /// /// 依赖注入 /// public DeleteUserSuccessEventHandler_Session( IUserRepository userRepository) { _userRepository = userRepository; } /// /// 处理程序 /// public override async Task Handle(DeleteUserSuccessEvent @event, CancellationToken cancellationToken) { foreach (var item in @event.Id) { await _userRepository.ClearSession(item); } } } }