Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/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
Asp.net core 信号器中集线器外部的access Context.ConnectionID_Asp.net Core_.net Core_Signalr_Signalr Hub_Asp.net Core Signalr - Fatal编程技术网

Asp.net core 信号器中集线器外部的access Context.ConnectionID

Asp.net core 信号器中集线器外部的access Context.ConnectionID,asp.net-core,.net-core,signalr,signalr-hub,asp.net-core-signalr,Asp.net Core,.net Core,Signalr,Signalr Hub,Asp.net Core Signalr,我希望能够使用SignalR向特定用户帐户发送消息。 现在我可以发送给每个人 我正在寻找任何方法来访问集线器外部控制器中的context.ConnectionID。我尝试使用iHubContext在控制器内部访问它,在hub内部我尝试在会话中保存connectionID的值,但两者都不受支持 从集线器外部的控制器访问connectionID的最佳方式是什么 下面是ChatController的操作方法,用于向每个人发送消息 public IActionResult PosaljiPoruku()

我希望能够使用SignalR向特定用户帐户发送消息。
现在我可以发送给每个人
我正在寻找任何方法来访问集线器外部控制器中的context.ConnectionID。我尝试使用iHubContext在控制器内部访问它,在hub内部我尝试在会话中保存connectionID的值,但两者都不受支持

从集线器外部的控制器访问connectionID的最佳方式是什么

下面是ChatController的操作方法,用于向每个人发送消息

public IActionResult PosaljiPoruku()
    {
        _hubContext.Clients.All.SendAsync("PrimljenaPoruka", "aaa");
        return PartialView("SubmitFormPartial");
    }
感谢您的帮助
谢谢你的帮助

从集线器外部的控制器访问connectionID的最佳方式是什么

从关于从集线器外部发送消息,您将发现:

当从
hub
类外部调用hub方法时,没有与调用关联的调用方。因此,无法访问
连接ID
调用方
其他
属性

我想能够发送消息到特定的用户帐户与信号

当客户端连接到集线器服务器时,您可以映射用户和
连接Id
,然后如果您想从集线器外部的控制器操作向特定用户发送消息,您可以查询映射表,首先根据用户名等获取相应的连接Id,并将连接Id传递给操作方法

await _hubContext.Clients.Client("connection_id_here").SendAsync("PrimljenaPoruka", "aaa");
此外,您可以通过创建单个用户组(每个用户的一个组)来实现同样的目的,然后在您只想联系特定用户时向该组发送消息

await _hubContext.Clients.Group("group_name_here").SendAsync("PrimljenaPoruka", "aaa");

嗨@sasko,关于这个案例有什么更新吗?很遗憾,我没有弄清楚如何将用户和connectionID映射在一起。嗨!谢谢你的回复。很抱歉我反应太晚了!我想以某种方式将connectionID映射到用户。但是除了文档之外,我找不到如何做到这一点的例子。因为我使用ihubcontext进行连接,所以无法从控制器中的集线器调用任何自定义方法。