Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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
Javascript 信号器-从服务器代码调用消息_Javascript_Asp.net_Vb.net - Fatal编程技术网

Javascript 信号器-从服务器代码调用消息

Javascript 信号器-从服务器代码调用消息,javascript,asp.net,vb.net,Javascript,Asp.net,Vb.net,一直在研究堆,但没有取得任何进展:( 尝试在VS 2013中使用VB设置一个小型web应用程序。 我已将所有信号器资源添加到我的项目中 每个登录的客户端在我的数据库中都有一个用户ID 我想从服务器端代码而不是客户端代码调用一个信号器消息到特定用户ID。首先,这可能吗?(可以使用ReverseAJAX,但我选择不使用它) 如果可能的话,我如何设置SignalR Hub以允许我使用用户ID发送消息?我不需要SQL的帮助,我可以自己做 另外,我需要什么javascript来持久化请求?我猜我需要在这段

一直在研究堆,但没有取得任何进展:( 尝试在VS 2013中使用VB设置一个小型web应用程序。 我已将所有信号器资源添加到我的项目中

每个登录的客户端在我的数据库中都有一个用户ID

我想从服务器端代码而不是客户端代码调用一个信号器消息到特定用户ID。首先,这可能吗?(可以使用ReverseAJAX,但我选择不使用它)

如果可能的话,我如何设置SignalR Hub以允许我使用用户ID发送消息?我不需要SQL的帮助,我可以自己做

另外,我需要什么javascript来持久化请求?我猜我需要在这段代码中的某个地方使用UserID


多谢各位。

这是很有可能的。如果你看看这里

您将看到关于“单用户组””的部分。这是版本2中向单用户Id发送消息的机制。基本上,当建立连接时,您将用户Id添加到“组”,该组可以通过组名(syn.User Id)访问不必担心自己将连接id与用户id的关系保持不变。唯一的限制是,如果同一用户建立了多个连接,则与该用户的所有设备都将位于同一组中,因此将接收发送给它的任何消息

还有另一节介绍如何在web服务器上保留SignalR上下文的实例以调用客户端(如何从Hub类外部调用客户端方法和管理组)

我确实读过一些关于Signal团队创建用户Id方法的文章,但我已经成功地使用了上述方法,并且没有深入研究

希望这有帮助

正如@Pepto所提到的,它描述了如何获取对中心的引用,然后在服务器代码中使用它

为特定用户调用客户端函数的一种简单方法是在中心中使用
Clients.user(“用户名”)


Intellisense将告诉您
User()
需要一个ID作为参数,但您应该传递用户的用户名,而不是他的ID。查看此示例。您可以将其更改为使用您的用户ID。这可能也有帮助,这与我遇到的问题类似:谢谢您的回复,但我不知道在哪里可以使用我的用户ID。我不需要触发代码when数据库已更新。我只需要使用UserID database字段将SR消息发送到该ID的客户端。谢谢,我将对此进行查看。同时请记住,您不必从脚本发送任何特殊内容。如果.NET代码经过“身份验证”,您可以在.NET代码中消化用户并且直接从ASP.NET主体中提取用户名。一旦你开始就很容易开始=DHey,我还没有读过这篇文章,但在你的帖子中你说应该使用用户名而不是ID?我不明白你为什么这么说。用户名总是唯一的,但用户名不一定是唯一的。干杯。这就是答案在hub上拥有默认的用户ID提供者,因为用户的用户名可以在请求的
IPrincipal.Identity.Name
上随时获得。请看,由于不能有两个用户使用相同的用户名,因此这种识别用户的方法比(比如)查询数据库中的ID更有效。很公平,感谢您的解释。我浏览了一下通过这篇大文章,我首先要弄清楚我需要哪些代码,然后将所有的C#转换成VB,这让我感到非常激动。