所以,我是 SignalR 的新手,我想制作一种通知,一旦用户连接就会触发,他必须清除(只需单击 x(。该通知应显示给每个连接的新用户。 该框架是 Angular 和 asp.net。 到目前为止,我只做了一个向每个连接的用户广播消息的功能,但这对我没有多大帮助......
因此,您完成了将客户端代码连接到集线器的部分。现在,您需要做的是仅将消息发送到覆盖OnConnected
方法的连接客户端,例如:
[HubName("YourHubName")]
public class YourHub : Hub
{
public override async Task OnConnected()
{
await base.OnConnected();
await this.Clients.Caller("BroadcastMessage", "You are now connected!");
}
}
所以基本上当用户连接集线器时,由于它是此方法的调用方,它将收到通知。
在Angular方面,我建议您使用两个不同的模块,服务和通知。
- 服务 - 将负责连接到中心,并调用中心方法。
- 通知 - 将负责从服务接收通知对象并添加到您的通知面板/卡片/列表中。