是否有针对 SignalR 集线器版本控制的明确策略,以便旧的 JS 代码可以继续工作?

Is there a defined strategy for versioning SignalR hubs, so that old JS code can continue to work?

我希望能够更改现有 SignalR 集线器上的方法签名、名称等。是否有针对 SignalR 集线器版本控制的明确策略,以便旧的 JS 代码可以继续工作,而不必为新调用创建新命名的集线器?

您不能更改方法名称并期望 Javascript 了解您更改了它的名称。 至于方法签名 - Javascript 不是强类型编程语言,所以你可以传递给 hub 不同种类的变量(只要变量的数量保持不变)。

但是,如果您仍想支持旧方法,可以创建新方法。

我会说简短的回答是否定的。 Signalr 没有任何类似的版本控制策略。

这个问题在细节上有一些亮点,但是信号器可以选择使用 class 上的属性来定义集线器名称。您还可以通过从原始 Hub 派生来创建新的 hub class,以帮助您重用现有代码。无论你做什么,都需要编写新的客户端 js。