版本控制、支持和兼容性
SignalR 客户端随服务器组件一起提供,并进行了版本控制以实现匹配。 任何受支持的客户端都可以安全地连接到任何受支持的服务器,并且任何兼容性问题都将被视为需要修复的 bug。 SignalR 客户端在与 .NET 的其余部分相同的支持生命周期中受支持。 有关详细信息,请参阅 .NET 和 .NET Core 支持策略 。
许多功能都需要兼容的客户端和服务器。 请查看下表,其中显示了各种功能的最低版本。
SignalR 的 1.x 版本映射到 2.1 和 2.2 .NET Core 版本,并且具有相同的生命周期。 对于版本 3.x 及更高版本,SignalR 版本与 .NET 的其余部分完全匹配,并且具有相同的支持生命周期。
| SignalR 版本 | .NET Core 版本 | Support level | 结束支持 |
|---|---|---|---|
| 1.0.x | 2.1.x | 长期支持 | 2021 年 8 月 21 日 |
| 1.1.x | 2.2.x | 生命周期结束 | 2019 年 12 月 23 日 |
| 3.x 或更高版本 | 与 SignalR 版本相同 | 请参阅 .NET 和 .NET Core 支持策略 |
注意:在 ASP.NET Core 3.0 中,JavaScript 客户端已迁移到 npm 包@microsoft/signalr。
Feature distribution
下表显示提供实时支持的客户端的功能和支持。 对于每项功能,该表都会列出支持该功能的最低版本。 如果未列出任何版本,则不支持该项功能。
| Feature | Server | .NET client | JavaScript client | Java client | Swift client |
|---|---|---|---|---|---|
| Azure SignalR 服务支持 | 2.1.0 | 1.0.0 | 1.0.0 | 1.0.0 | 1.0.0-preview.1 |
| Server-to-client Streaming | 2.1.0 | 1.0.0 | 1.0.0 | 1.0.0 | 1.0.0-preview.1 |
| Client-to-server Streaming | 3.0.0 | 3.0.0 | 3.0.0 | 3.0.0 | ❌ |
| 自动重新连接(.NET、JavaScript) | 3.0.0 | 3.0.0 | 3.0.0 | ❌ | 1.0.0-preview.1 |
| WebSockets Transport | 2.1.0 | 1.0.0 | 1.0.0 | 1.0.0 | 1.0.0-preview.1 |
| 服务器发送事件传输 | 2.1.0 | 1.0.0 | 1.0.0 | ❌ | 1.0.0-preview.1 |
| 长轮询传输 | 2.1.0 | 1.0.0 | 1.0.0 | 3.0.0 | 1.0.0-preview.1 |
| JSON 中心协议 | 2.1.0 | 1.0.0 | 1.0.0 | 1.0.0 | 1.0.0-preview.1 |
| MessagePack 中心协议 | 2.1.0 | 1.0.0 | 1.0.0 | 5.0.0 | 1.0.0-preview.1 |
| Client Results | 7.0.0 | 7.0.0 | 7.0.0 | 7.0.0 | 1.0.0-preview.1 |
在问题跟踪器中跟踪对启用其他客户端功能的支持。
不支持 ECMAScript 6 (ES6) 的浏览器
SignalR 面向 ES6。 对于不支持 ES6 的浏览器,请将库转译为 ES5。 有关详细信息,请参阅 ES6 使用入门 – 使用 Traceur 和 Babel 将 ES6 转为 ES5。