Javascript 向信号器中的特定用户发送值

Javascript 向信号器中的特定用户发送值,javascript,c#,signalr,Javascript,C#,Signalr,我有4个文本框,在用户使用信号器按下发送按钮后同时填充。在一部分中,我将文本框值发送给所有用户,这是可行的。但当我尝试将值发送给特定用户时,按下按钮后,所有文本框都变为空 这是正在工作的代码,将值发送给所有用户: 这是中心: public void Send(string loanType, string loanAmount, string interestRates, string payment) { User sender = GetUser(Context.U

我有4个文本框,在用户使用信号器按下发送按钮后同时填充。在一部分中,我将文本框值发送给所有用户,这是可行的。但当我尝试将值发送给特定用户时,按下按钮后,所有文本框都变为空

这是正在工作的代码,将值发送给所有用户:

这是中心:

 public void Send(string loanType, string loanAmount, string interestRates, string payment)
    {
        User sender = GetUser(Context.User.Identity.Name);

        var username = sender.Name;
        IEnumerable<string> connectionIds = sender.ConnectionIds;

        //All connected clients.
        Clients.All.broadcastMessage(loanType, loanAmount, interestRates, payment);

    }
但当我尝试向特定用户发送值时,它不起作用:当我公开C代码时,我想问题出在JS中:

这是一种将文本框的值发送给特定用户的C#方法:

 public void Send(string message, string to, string loanType, string loanAmount, string interestRates, string payment)
    {
        User receiver;
        if (Users.TryGetValue(to, out receiver))
        {

            User sender = GetUser(Context.User.Identity.Name);

            IEnumerable<string> allReceivers;
            lock (receiver.ConnectionIds)
            {
                lock (sender.ConnectionIds)
                {

                    allReceivers = receiver.ConnectionIds.Concat(sender.ConnectionIds);
                }
            }

            foreach (var cid in allReceivers)
            {
                Clients.Client(cid).broadcastMessage(new { message = message, isPrivate = true, loanType = loanType,
                    loanAmount = loanAmount,
                    interestRates = interestRates,
                    payment = payment
                });
            }
        }
    }

函数签名不匹配。有不同数量的参数器,它们必须精确匹配,否则javascript函数将永远不会被调用,当您调用broadcastMessage函数时,看起来您正在尝试使用send函数的参数

在您要查找的用户的JavaScript中:

function (loanType, loanAmount, interestRates, payment)
但你正在发送:

broadcastMessage(new { message = message, isPrivate = true, loanType = loanType,
                loanAmount = loanAmount,
                interestRates = interestRates,
                payment = payment
            })
function (loanType, loanAmount, interestRates, payment)
broadcastMessage(new { message = message, isPrivate = true, loanType = loanType,
                loanAmount = loanAmount,
                interestRates = interestRates,
                payment = payment
            })