1

SignalR 的协商调用返回一个连接 ID。调用协商请求时,有没有办法在服务器端获取连接 ID?

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

4

3 回答 3

0

如果您使用的是 SignalR Hub,则可以侦听连接事件,然后获取Context.ConnectionId。例如

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

有关更多信息,请参阅https://github.com/SignalR/SignalR/wiki/Hubs

于 2013-03-19T11:19:33.050 回答
0

字符串 connectionID = Context.ConnectionId;

于 2013-09-03T10:30:17.153 回答
0

如果您使用的是 PersistentConnection ,则可以覆盖

ProcessRequestAsync(HostContext context)

方法并从 HostContext 的 IResponse 属性中获取 connectionId 值。

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

于 2012-03-02T23:12:26.320 回答