none
Cliente Signalr .net c# RRS feed

  • Pregunta

  • Estimados, en un proyecto estoy tratando de implementar la tecnología signalr, he leído algunos articulos y tutoriales, la mayor cantidad de ellos de chat con clientes en javascript.

    Estoy tratando de generar un cliente en .net c# y no he podido actualizar los datos por el metodo updateUsers del cliente.

    Me gustaría si me pudieran ayudar a resolver mi problema.

    desde ya muchas gracias.

    Codigo Servidor.

    public static List<Client> ConnectedUser { get; set; } = new List<Client>();
            public void Connect(string username)
            {
                Client c = new Client()
                {
                    Username = username,
                    ID = Context.ConnectionId
                };
                ConnectedUser.Add(c);
                Clients.All.updateUsers(ConnectedUser.Count(), ConnectedUser.Select(u => u.Username));
            }

    public class Client
        {
            public string Username { get; set; }
            public string ID { get; set; }
        }

    Código Cliente

    // REALIZAR LA CONEXION CON EL HUB
                var hubConnectionChat = new HubConnection("http://localhost:49625/signalr", useDefaultUrl: false);
                IHubProxy ChatHubProxy = hubConnectionChat.CreateHubProxy("ChatHub");
                // FIN CONEXION HUB

                // LLAMAR A LA FUNCION ACTUALIZADORA DE CLIENTES
                ChatHubProxy.On<string, string>("updateUsers", (userCount, userList) =>
                    {
                        LblUsuarioOnLine.Text += "Usuario en linea: " + userCount;
                        CmbUserList.Items.Clear();
                        CmbUserList.Items.Add(userList);
                    }
                );
                hubConnectionChat.Start().Wait();
                ChatHubProxy.Invoke("connect", username);          
                // FIN FUNCION ACTUALIZADORA

    miércoles, 1 de junio de 2016 4:43

Respuestas

  • hola

    >>no he podido actualizar los datos por el metodo updateUsers del cliente

    pero recibes algun mensaje de error ?

    puedes validar que el cliente se conecta al servidor ? o sea si pones un breakpoint en Connect() ingresa

    valida que no tengas un error de javascript en el browser

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 1 de junio de 2016 7:04

Todas las respuestas

  • hola

    >>no he podido actualizar los datos por el metodo updateUsers del cliente

    pero recibes algun mensaje de error ?

    puedes validar que el cliente se conecta al servidor ? o sea si pones un breakpoint en Connect() ingresa

    valida que no tengas un error de javascript en el browser

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 1 de junio de 2016 7:04
  • Hola Leandro, si he puesto un punto de quiebre, al llamar con invoke va al código de servidor, realiza las acciones de código, pero el método Clients.All.updateUsers  debería traer al cliente el count de usuarios y el nombre de usuario al cliente.

    Leandro tambien provee con otros navegadores (chrome, edge) y no entregan código de error.

    Saludos

    miércoles, 1 de junio de 2016 14:19
  • Leandro, he realizado mas pruebas y no puedo hallar el error del código.

    Saludos

    jueves, 2 de junio de 2016 16:30