1.在UI层和组件层(Componets)中NuGet添加Signalr包
选择1.0.1版本的就行了。
2.在组件层(Componets)中添加一个NotificationHub.cs类
using Microsoft.AspNetCore.SignalR;
using System;
using System.Threading.Tasks;
namespace YouYi.Market.Componets
{
public class NotificationHub : Hub
{
/// <summary>
/// 建立连接时触发
/// </summary>
/// <returns></returns>
public override async Task OnConnectedAsync()
{
//给所有的客户端发送消息 方法名 自己的连接Id
await Clients.All.SendAsync("ShangXian", Context.ConnectionId);
}
/// <summary>
/// 离开连接时触发
/// </summary>
/// <param name="ex"></param>
/// <returns></returns>
public override async Task OnDisconnectedAsync(Exception ex)
{
//给所有客户端发送消息 方法名 自己的连接Id
await Clients.All.SendAsync("XiaXian", Context.ConnectionId);
}
/// <summary>
/// 向所有人推送消息
/// </summary>
/// <param name="message"></param>
/// <returns></returns>
public Task Send(string message)
{
return Clients.All.SendAsync("ReceiveMessage", $"{message}");
}
/// <summary>
/// 向指定组推送消息(群消息)
/// </summary>
/// <param name="groupName"></param>
/// <param name="message"></param>
/// <returns></returns>
public Task SendToGroup(string groupName, string message)
{
// 指定一个组 消息
return Clients.Group(groupName).SendAsync("ReceiveMessage", $"{Context.ConnectionId}@{groupName}: {message}");
}
/// <summary>
/// 加入指定组并向组推送消息
/// </summary>
/// <param name="groupName