如何在Hub外部获取客户端connectionId / clientId?..我已设法执行以下操作:
var context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
但是在那个上下文对象中没有clientId这样的东西.
解决方法
您可以在集线器上实现IConnected / IDisconnect,并手动跟踪客户端,例如在数据库中,然后在需要时撤回列表.以下示例来自
SignalR Wiki
public class Status : Hub,IDisconnect,IConnected { public Task Disconnect() { return Clients.leave(Context.ConnectionId,DateTime.Now.ToString()); } public Task Connect() { return Clients.joined(Context.ConnectionId,DateTime.Now.ToString()); } public Task Reconnect(IEnumerable<string> groups) { return Clients.rejoined(Context.ConnectionId,DateTime.Now.ToString()); } }