Я пытаюсь отладить концентратор SignalR и заметил, что конструктор получает вызов несколько раз, даже с одним клиентом. Это ожидаемое поведение? Я ожидал, что конструктор будет вызван только один раз для инициализации класса, но я несколько раз ударяю о точку останова.Когда называется конструктор концентратора SignalR?
ответ
В экземпляре компонента SignalR будет создан для каждого запроса. Так что неважно, есть ли только один клиент или больше. Фактически, концентратор является абстракцией над PersistentConnection, если вы хотите более точный контроль над вещами, происходящими за сценой, вы можете использовать PersistentConnection. Проверьте: https://github.com/SignalR/SignalR/wiki/PersistentConnection
Даже больше. Один раз за вызов, который может быть больше, чем за запрос (в случае веб-карт) – davidfowl
Как указано в Incognito, SignalR создает новый экземпляр концентратора для каждого запроса. Вы должны использовать статические члены для хранения необходимой информации в концентраторе для всех запросов. Если вы хотите выполнять некоторые операции каждый раз, когда новый клиент подключается к концентратору, вы должны поместить этот код в OnConnected.
не уверен, но я думаю, что его новый по каждому запросу – MEYWD