我希望能够向特定客户端发送消息,我有工作代码,但我找不到识别用户的方法,因为在每个页面加载/刷新时客户端 ID 都会改变,所以我不能依赖它。我试图将查询字符串附加到连接,但我只能找到相同上下文的查询字符串。
这是我的集线器,在发送方法中,我希望能够在发送消息时将发送到特定连接 id 的 id 匹配:
public class Chat : Hub
{
public string addMsg()
{
return "";
}
public void Send(string message, string id)
{
Clients.Client(Context.ConnectionId).receiveMessage(message);
}
}
这是我的客户端代码,我想将要发送消息的人的 id 传递给服务器发送方法,并使用其他连接用户的查询字符串值将其与我发送的 id 匹配。
var chat = $.connection.chat;
chat.client.receiveMessage = function (message) {
alert("Received from server: " + message);
};
chat.addMsg = function (message) {
};
$("#sendMessage").click(function () {
chat.server.send($('#newMessage').val(), 6);
});
$.connection.hub.qs = "id=1";
$.connection.hub.start().done(function () {
var myClientId = $.connection.hub.id;
var qs = $.connection.hub.qs;
});
我希望我的问题是有道理的,我已经尝试破解这个问题一段时间了,下面是一些链接到我用来到达我现在所在位置的一些文章,我只是错过了最后一块拼图,请对我放轻松:)
http://weblogs.asp.net/davidfowler/archive/2012/11/11/microsoft-asp-net-signalr.aspx