【发布时间】:2015-04-27 00:39:55
【问题描述】:
signalR 有问题,我无法从 Hub 向特定用户发送消息。
我想这样做:
public void Send(string userToId, string userForId, string message)
{
IHubContext context = GlobalHost.ConnectionManager.GetHubContext<ChatHubs>();
//userForId - it is Session["UserId"]
context.Clients.User(userForId).updateMessages(message);
}
我已经读过这个话题:http://www.asp.net/signalr/overview/guide-to-the-api/mapping-users-to-connections,但我不清楚,因为我没有这个var name = Context.User.Identity.Name;我在会话变量中有用户信息,第二个当我得到这样的connectionId时:var myClientId = $.connection.hub.id;connectionId -刷新页面或单击项目上的另一个菜单时会更改。
我有一些问题: 1)我可以在没有connectionId的情况下向特定用户发送消息(仅使用会话[“UserId”])吗? 2) 一般来说,我怎样才能轻松地使用 SignalR 进行一对一的消息传递?
附注我正在使用 ASP.NET MVC (C#)
【问题讨论】:
-
你可以看看this answer。但是,它没有使用 Session,而是解释了如何插入自定义用户 ID。
标签: c# asp.net-mvc asp.net-mvc-4 signalr messaging