我正在使用 AspNetCore.SignalR 开发 SignalR 服务。
以下是我的集线器:
public class NotificationHub : Microsoft.AspNetCore.SignalR.Hub
{
public override async Task OnConnectedAsync()
{
await base.OnConnectedAsync();
}
public override async Task OnDisconnectedAsync(Exception exception)
{
await base.OnDisconnectedAsync(exception);
}
}
以下是我创建的另一个 Context 类,用于在客户端调用 Hub 的方法:
public class NotificationHubContext
{
private readonly IHubContext<NotificationHub> _context;
public NotificationHubContext(IHubContext<NotificationHub> context)
{
_context = context;
}
public async Task Broadcast(string groupId, string eventName, object data)
{
await _context.Clients.Group(groupId).SendAsync(eventName, data);
}
}
我想将 NotificationContext 类的引用注入到我自己的 IoC 容器中,这样我就可以解决它并在其上调用 BroadCast 方法,它应该处理向客户端发送消息。
我正在使用服务总线来侦听来自系统另一部分的消息,一旦我收到来自队列的消息,我想使用来自 QueueHandler 的 HubContext 通知连接的客户端。