Есть ли способ получить количество соединений в группе хабов Signalr?

Вот моя проблема, я хочу отслеживать, если пользователь онлайн или офлайн и уведомить об этом других клиентов. Я использую концентраторы и реализовал интерфейсы IConnected и IDisconnect.

Моя идея состояла в том, чтобы отправить уведомление всем клиентам, когда концентратор обнаруживает подключение или отключение. По умолчанию, когда пользователь обновляет страницу, он получает новый идентификатор соединения, и, в конце концов, предыдущее соединение будет вызывать разъединение, уведомляя других клиентов, что пользователь находится в автономном режиме, даже если он на самом деле онлайн.

Я попытался использовать свой собственный ConnectionIdFactory, возвращающий имя пользователя для идентификатора соединения, но с несколькими открытыми вкладками в какой-то момент он обнаружит, что пользователь connectionid отключен, и после этого концентратор на стороне клиента попытается безуспешно подключиться к концентратору в бесконечной петле, тратя память и процессор почти непригодным для использования. Мне нужно было исправить это быстро, поэтому я удалил свою фабрику, и теперь я добавляю каждое новое соединение в группу, используя имя пользователя, чтобы я мог легко уведомить одного пользователя о всех соединениях, но тогда у меня есть проблема с определением, подключен ли пользователь к сети или нет, так как я не знаю, сколько у пользователя активного соединения.

Так что мне интересно, есть ли способ получить количество соединений в одной группе? Или, если у кого-то есть идея, как лучше отслеживать, когда пользователь отключается?

Я использую Signalr 0.4

Ответы на вопрос(1)

Ваш ответ на вопрос