using F9WebAiTest.Api.Hubs; using F9WebAiTest.Application.Services; using MediatR; using Microsoft.AspNetCore.SignalR; namespace F9WebAiTest.Api.Services; /// /// 业务状态变更事件的 SignalR 推送处理器。 /// 业务服务发布 BusinessChangedEvent 后,推送给所有在线客户端, /// 各端监听 "BusinessChanged" 后刷新已打开的相关页面,实现多端实时同步。 /// public class BusinessChangedEventHandler : INotificationHandler { private readonly IHubContext _hubContext; public BusinessChangedEventHandler(IHubContext hubContext) => _hubContext = hubContext; public Task Handle(BusinessChangedEvent e, CancellationToken ct) => _hubContext.Clients.All.SendAsync("BusinessChanged", e, ct); }