public class ChatHub : Hub
{
private readonly IConnectionManager _connectionManager;
public ChatHub(IConnectionManager connectionManager)
{
_connectionManager = connectionManager;
}
public async Task SendMessage(UserChatHubDTO user, string message)
{
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
public void RegisterUser(UserChatHubDTO user)
{
_connectionManager.AddConnection(Context.ConnectionId, user);
}
public override async Task OnDisconnectedAsync(Exception exception)
{
_connectionManager.RemoveConnection(Context.ConnectionId);
await base.OnDisconnectedAsync(exception);
}
}
public class ChatHub : Hub
{
private readonly IConnectionManager _connectionManager;
public ChatHub(IConnectionManager connectionManager)
{
_connectionManager = connectionManager;
}
public async Task SendMessage(UserChatHubDTO user, string message)
{
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
public void RegisterUser(UserChatHubDTO user)
{
_connectionManager.AddConnection(Context.ConnectionId, user);
}
public override async Task OnDisconnectedAsync(Exception exception)
{
_connectionManager.RemoveConnection(Context.ConnectionId);
await base.OnDisconnectedAsync(exception);
}
}