2012-02-27 1 views
1

Переговорные вызовы SignalR возвращают идентификатор соединения. Есть ли способ получить идентификатор соединения на стороне сервера при вызове запроса на переговоры?SignalR - Получение идентификатора соединения на стороне сервера во время запроса на переговоры

Есть ли событие на стороне сервера, на которое я могу подписаться, когда был создан идентификатор соединения?

ответ

0

Если вы используете PersistentConnection вы можете переопределить метод

ProcessRequestAsync(HostContext context) 

и получить значение ConnectionID из свойства IResponse в HostContext.

Другим способом было бы использование DependecyResolver для обеспечения собственной реализации IConnectionIdFactory, которая вызывает событие перед возвратом строки connectionId.

0

Если вы используете концентратор SignalR, вы можете прослушивать событие подключения, а затем захватить Context.ConnectionId. Например.

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

См. https://github.com/SignalR/SignalR/wiki/Hubs для получения дополнительной информации.

0

строка connectionID = Context.ConnectionId;

+0

Свойство Context возвращает объект HubCallerContext, который предоставляет доступ к следующей информации: – codeRecap

Смежные вопросы