我正在尝试使用 SignalR 创建聊天应用程序。为了使发送私人消息成为可能,我想将客户分配到具有其 profileID 名称的组。所以我可以简单地调用组的 addMessage 函数来发送给特定的客户端。
当我转到此页面时:https ://github.com/SignalR/SignalR/wiki/Hubs
它告诉我向 Hub 添加一个名为 Join() 的函数。在这里,我可以将传入的客户端添加到组中。所以我创建了这段代码:
[HubName("Chat")]
public class ChatHub : Hub
{
public Task Join()
{
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
Profiel_DataHelper profiel = new Profiel_DataHelper(HttpContext.Current.User.Identity.Name);
return Groups.Add(Context.ConnectionId, profiel.ProfielID.ToString());
}
else
{
return null;
}
}
......
当我想调用特定客户端时,我使用以下代码:
var context = GlobalHost.ConnectionManager.GetHubContext();
context.Clients.Group(profielidNaar).addTyptOnline(profielidVan);
但是当我运行程序时,根本没有调用 Join() 任务,因此我对组的调用也不起作用。
我究竟做错了什么?