Я использую Signalr в приложении, которое я пишу, и сохраняю все пользовательские соединения в параллельном словаре.
ConcurrentDictionary<string, User> _users = new ConcurrentDictionary<string, User>();
Я реализовал интерфейс IDisconnect на своем концентраторе и удаляю пользователей из словаря, когда они отключаются.
Мне интересно, насколько надежен метод Disconnect? Охватывает ли он все различные способы, которыми пользователь может отключиться? Я не хочу, чтобы словарь рос и рос бесконечно
Я думал о том, чтобы иметь таймер для периодического обхода словаря и удаления пользователей, у которых не было какой-либо недавней активности.
Это необходимо? Могу ли я полагаться на метод отключения?