如何在hub类之外获取SignalR调用者?首先,我实现了上下文,但无法检索调用者或连接ID。
private readonly IHubContext _hubContext;
public HomeController()
{
_hubContext = GlobalHost.ConnectionManager.GetHubContext<ProgressHub>();
}
ConnectionId属性也无法从HomeController访问。
public class ProgressHub : Hub
{
public string ConnectionId { get; set; }
public override Task OnConnected()
{
ConnectionId = Context.ConnectionId;
return base.OnConnected();
}
}
最后在客户端上尝试访问集线器时出错
var id = $.connection.hub.id;
答案 0 :(得分:0)
你不能。想想看:在各种情况下,你怎么可能从集线器外部取回呼叫者?您可能正在通过SignalR进行呼叫,因此在这种情况下您无法拥有呼叫者。 IHubContext
必须涵盖所有情况,因此无法提供此类选项。