2014-10-02 34 views
0

我正在从事一项工作,该工作将自动分配给员工,创建工作时应用程序将寻找最大空闲时间的员工。我可以广泛投送通知给所有的员工,但我想知道如何发送通知,针对其工作是assigned.Just像Facebook员工每个用户临危他通知only.I我集线器类使用此语句如何使用信号将通知发送给特定员工R

Clients.All.broadcastMessage(message); 

回答

1

您正在广播的消息给大家,我建议你使用Clients.User(userid)

获取当前登录的用户string userName = HttpContext.Current.User.Identity.Name;

然后发送通知给特定的用户,你可以有类似的东西。

Clients.User(userName).broadcastMessage(message);

0

我这个只有3天前挣扎,终于得到了它的工作。

假设你有一个名为YourHub集线器类,你的JavaScript代码看起来应该是这样

$(function() { 
    var yourHub = $.connection.YourHub; 
    yourHub.client.OnMessage = function (message) { 
     console.log(message): 
    }; 
}); 

然后,你需要实现服务器,其接收IRequest上IUserIdProvider(应该有一个cookie或东西您识别人),且实施方法

public string GetUserId(IRequest request) 

然后作为的Izzy告诉你使用Clients.User(用户ID).OnMessage(消息) 其中userid是您在GetUserId和的onMessage返回id是方法你的JavaScript文件。 要小心使用Clients.User(userId)而不是Clients.Client(userId)

+0

它可能会让你感到烦恼,因为我是signalR的新手。 – killer 2014-10-02 09:22:03

相关问题