Я хочу иметь возможность вносить изменения в сигнатуры методов, имена и т. Д. На существующие концентраторы SignalR. Существует ли определенная стратегия для управления версиями концентраторов SignalR, чтобы старый JS-код мог продолжать работать, не создавая новый новый хаб для новых вызовов?Существует ли определенная стратегия для управления версиями концентраторов SignalR, чтобы старый JS-код мог продолжать работать?
ответ
Я бы сказал, что короткий ответ - нет. Signalr не имеет стратегии управления версиями.
Вопрос немного освещен деталями, но signalr имеет, например, возможность использовать атрибут класса для определения hubname. Вы также можете создать новый класс концентратора, исходя из исходного концентратора, чтобы помочь вам повторно использовать существующий код. Независимо от того, что вы делаете, новые клиенты js должны быть написаны.
Вы не можете изменить имя метода и ожидать, что Javascript поймет, что вы изменили его имя. Что касается сигнатур метода - Javascript не является строго типизированным языком программирования, поэтому вы можете перейти к различным типам переменных концентратора (при условии, что число переменных остается неизменным).
Однако вы можете создавать новые методы, если хотите по-прежнему поддерживать старые.
Должен быть способ отправки номера версии на сервер, хотя и маршрутизировать в соответствующий концентратор. –