C# 如何使用信号器向特定员工发送通知
我在一个crm上工作,工作会自动分配给员工,当创建工作时,应用程序会寻找空闲时间最长的员工。我可以向所有员工发送通知,但我想知道如何向分配工作的员工发送通知。就像facebook一样,每个用户都会收到自己的通知仅通知。我正在hub类中使用此语句C# 如何使用信号器向特定员工发送通知,c#,asp.net,signalr,C#,Asp.net,Signalr,我在一个crm上工作,工作会自动分配给员工,当创建工作时,应用程序会寻找空闲时间最长的员工。我可以向所有员工发送通知,但我想知道如何向分配工作的员工发送通知。就像facebook一样,每个用户都会收到自己的通知仅通知。我正在hub类中使用此语句 Clients.All.broadcastMessage( message); 您必须根据connectionId识别用户 下面是一篇很好的博客文章,描述了这一点: 您当前正在向所有人广播您的消息。我建议您使用客户端。用户(userid) 获取当
Clients.All.broadcastMessage( message);
您必须根据connectionId识别用户 下面是一篇很好的博客文章,描述了这一点:
您当前正在向所有人广播您的消息。我建议您使用
客户端。用户(userid)
获取当前登录用户string userName=HttpContext.current.user.Identity.Name代码>
然后向特定用户发送通知,您可以使用类似的方式
客户端。用户(用户名)。广播消息(消息)代码>就在3天前,我还在努力解决这个问题,最后终于让它工作起来了
假设您有一个名为YourHub的Hub类,您的javascript代码应该如下所示
$(function () {
var yourHub = $.connection.YourHub;
yourHub.client.OnMessage = function ( message) {
console.log(message):
};
});
然后,您需要在服务器上实现IUserIdProvider,该服务器接收IRequest(应该有一个cookie或其他东西供您识别此人),并实现该方法
public string GetUserId(IRequest request)
然后,正如Izzy告诉您的那样,使用Clients.User(userId).OnMessage(message)
其中userId是在GetUserId上返回的id,OnMessage是javascript文件中的方法。
请小心使用客户端。用户(userId)而不是客户端。客户端(userId)它被搞砸了。您能告诉我关于这一点的明确想法吗,因为我是新加入Signal的。