Signalr 信号器-在协商请求期间在服务器端获取连接id

Signalr 信号器-在协商请求期间在服务器端获取连接id,signalr,Signalr,Signaler的协商调用返回一个连接id。当协商请求被调用时,有没有办法在服务器端获取连接id 生成连接id后,是否可以订阅服务器端事件?如果使用PersistentConnection,则可以覆盖 ProcessRequestAsync(HostContext context) 方法,并从HostContext的IResponse属性中获取connectionId值 另一种方法是使用DependecyResolver提供您自己的IConnectionIdFactory实现,该实现在返回co

Signaler的协商调用返回一个连接id。当协商请求被调用时,有没有办法在服务器端获取连接id


生成连接id后,是否可以订阅服务器端事件?

如果使用PersistentConnection,则可以覆盖

ProcessRequestAsync(HostContext context)
方法,并从HostContext的IResponse属性中获取connectionId值


另一种方法是使用DependecyResolver提供您自己的IConnectionIdFactory实现,该实现在返回connectionId字符串之前引发事件。

如果您使用的是SignalR Hub,则可以侦听connect事件,然后抓取上下文。connectionId。例如

public override Task OnConnected()
{
    return Clients.All.joined(Context.ConnectionId, DateTime.Now.ToString());
}

更多信息,请参阅

string connectionID=Context.connectionID

Context属性返回一个HubCallerContext对象,该对象提供对以下信息的访问: