using LY.App.Extensions.DI; using Microsoft.AspNetCore.SignalR; using Newtonsoft.Json; namespace LY.App.Common.WebSocket { /// /// 客户端push消息 /// [ServiceInjection(InjectionType.Singleton)] public class PushService { private readonly IHubContext _hubContext; public PushService(IHubContext hubContext) { _hubContext = hubContext; } /// /// 1对1消息 /// /// /// /// public async Task SendMessageToClient(string connectionId, object message) { await _hubContext.Clients.Client(connectionId).SendAsync("ReceiveMessage", message); } /// /// 全部消息 /// /// /// public async Task SendMessageToAll(object message) { var data = JsonConvert.SerializeObject(message); Console.WriteLine($"推送前端消息:{data}"); await _hubContext.Clients.All.SendAsync("ReceiveMessage", data); } } }