using Infrastructure.Extensions; using Microsoft.AspNetCore.SignalR; using System; using System.Threading.Tasks; namespace Infrastructure.Web.SignalR { public class BasePageHub : Hub { public override Task OnConnectedAsync() { Console.WriteLine($"{Context.ConnectionId} has connected which request url is {Context.GetHttpContext().Request.GetUrl()}"); this.Groups.AddToGroupAsync(Context.ConnectionId, Context.ConnectionId); if (Context.GetHttpContext().Request.Query.Keys.Contains("group")) { this.Groups.AddToGroupAsync(Context.ConnectionId, Context.GetHttpContext().Request.Query["group"]); } this.Clients.Group(Context.ConnectionId).SendAsync("Connected", Context.ConnectionId); return base.OnConnectedAsync(); } public override Task OnDisconnectedAsync(Exception exception) { Console.WriteLine($"{Context.ConnectionId} has disconnected which request url is {Context.GetHttpContext().Request.GetUrl()}"); return base.OnDisconnectedAsync(exception); } } }