Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用信号器向特定员工发送通知_C#_Asp.net_Signalr - Fatal编程技术网

C# 如何使用信号器向特定员工发送通知

C# 如何使用信号器向特定员工发送通知,c#,asp.net,signalr,C#,Asp.net,Signalr,我在一个crm上工作,工作会自动分配给员工,当创建工作时,应用程序会寻找空闲时间最长的员工。我可以向所有员工发送通知,但我想知道如何向分配工作的员工发送通知。就像facebook一样,每个用户都会收到自己的通知仅通知。我正在hub类中使用此语句 Clients.All.broadcastMessage( message); 您必须根据connectionId识别用户 下面是一篇很好的博客文章,描述了这一点: 您当前正在向所有人广播您的消息。我建议您使用客户端。用户(userid) 获取当

我在一个crm上工作,工作会自动分配给员工,当创建工作时,应用程序会寻找空闲时间最长的员工。我可以向所有员工发送通知,但我想知道如何向分配工作的员工发送通知。就像facebook一样,每个用户都会收到自己的通知仅通知。我正在hub类中使用此语句

   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的。