SignalR 1.0 фабрика бета-соединений
Теперь, когда новая версия SignalR покончила с интерфейсом IConnectionFactory, какой шаблон рекомендуется использовать для установки идентификатора соединения клиента?
1 ответ
Больше нет рекомендуемого шаблона для установки идентификатора соединения клиента SignalR в версии 1.0.
Рекомендуется поддерживать состояние на сервере SignalR, который сопоставляет пользователей вашего приложения с идентификатором соединения. Очевидное место для добавления идентификаторов соединений на эту карту - это OnConnected. Вы можете использовать OnDisconnected для удаления идентификаторов подключения.
Другой вариант, который также можно сделать в OnConnected, - добавить идентификатор соединения клиента в группу с именем, которое вы бы создали для клиента в IConnectionIdFactory.CreateConnectionId ранее. Естественно, что эта группа будет содержать только одного клиента, поэтому вы можете вместо этого отправлять все сообщения, которые вы бы отправили на пользовательский идентификатор подключения, группе.
Примечание. Если вы воспользуетесь параметром сопоставления, вы также можете попытаться добавить идентификаторы подключений к карте в OnReconnected, если вас беспокоит перезапуск AppDomain, и вы сохраняете это состояние в некоторой статической переменной, а не в какой-то более постоянной. Очевидно, что для этого вам понадобится общее состояние, если вы масштабируете SignalR.