示例#1
0
        public override Task OnConnectedAsync()
        {
            return(Task.Run(() =>
            {
                userConnectionsService.ChatConnectionService.Add(Context.User, Context.ConnectionId);
                var apiObject = new ChatUserConnected
                {
                    NewUser = Context.User.ApiGetUser(),
                    ConnectedUsers = userConnectionsService
                                     .ChatConnectionService
                                     .GetUsers()
                                     .ApiGetUsers()
                };

                foreach (var connection in userConnectionsService.ChatConnectionService.GetUserConnections())
                {
                    Clients.Client(connection).ChatUserConnected(apiObject);
                }
                return base.OnConnectedAsync();
            }));
        }
 public static Task ChatUserConnected(this IClientProxy hubConnection, ChatUserConnected apiObject)
 {
     return(hubConnection.SendAsync(ChatHubApiKeys.ChatUserConnected, apiObject));
 }