支持的平台
警告
本文档不适用于最新版本的 SignalR。 查看 ASP.NET Core SignalR。
本文介绍 SignalR 支持的客户端和服务器。
问题和评论
请留下反馈,说明你对本教程的喜爱程度,以及我们可以在页面底部的评论中改进的内容。 如果你有与本教程不直接相关的问题,可以将其发布到 ASP.NET SignalR 论坛 或 StackOverflow.com。
各种服务器和客户端配置都支持 SignalR。 此外,每个传输选项都有自己的一组要求:如果传输的系统要求不可用,SignalR 将正常故障转移到其他传输。 有关 SignalR 支持的传输的详细信息,请参阅 传输和回退。
服务器系统要求
SignalR 服务器组件可以托管在各种服务器配置上。 本部分介绍操作系统、.NET Framework、Internet Information Server 和其他组件的受支持版本。
支持的服务器操作系统
SignalR 服务器组件可以托管在以下服务器或客户端操作系统中。 请注意,要使 SignalR 使用 WebSocket,需要 Windows Server 2012、Windows Server 2016 或 Windows 8, (WebSocket 可以在 Windows Azure 网站上使用,前提是站点的 .NET Framework 版本设置为 4.5,并在站点的“配置”页) 中启用 Web 套接字。
- Windows Server 2016
- Windows Server 2012
- Windows Server 2008 r2
- Windows 10
- Windows 8
- Windows 7
- Microsoft Azure
支持的服务器.NET Framework版本
仅在 .NET Framework 4.5 上支持 SignalR 2。 有关增强可靠性、兼容性、稳定性和性能的更新,请参阅建议的汇报部分。
支持的服务器 IIS 版本
当 SignalR 托管在 IIS 中时,支持以下版本。 请注意,如果使用客户端操作系统(例如用于开发 (Windows 8 或 Windows 7) ),则不应使用完整版本的 IIS 或 Cassini,因为同时施加了 10 个连接的限制,由于连接是暂时性的、经常重新建立的,并且不再使用时不会立即释放,因此会很快达到此限制。 应在客户端操作系统上使用IIS Express。
另请注意,要使 SignalR 使用 WebSocket,必须使用 IIS 8 或 IIS 8 Express,服务器必须使用 Windows 8、Windows Server 2012 或更高版本,并且必须在 IIS 中启用 WebSocket。 有关如何在 IIS 中启用 WebSocket 的信息,请参阅 IIS 8.0 WebSocket 协议支持。
- IIS 8 或 IIS 8 Express。
- IIS 7 和 7.5。 需要支持 无扩展 URL 。
- IIS 必须在集成模式下运行;不支持经典模式。 如果使用 Server-Sent 事件传输在经典模式下运行 IIS,则可能会出现长达 30 秒的消息延迟。
- 托管应用程序必须在完全信任模式下运行。
客户端系统要求
SignalR 可用于各种客户端平台。 本部分介绍在 Web 浏览器、Windows 桌面应用程序、Silverlight 应用程序和移动设备中使用 SignalR 的系统要求。
Web 浏览器
SignalR 可用于各种 Web 浏览器,但通常仅支持最新的两个版本。
在浏览器中使用 SignalR 的应用程序必须使用 jQuery 版本 1.6.4 或主要更高版本 (,例如 1.7.2、1.8.2 或 1.9.1) 。
SignalR 可在以下浏览器中使用:
- Microsoft Internet Explorer 版本 11。 仅限 Windows。
- Microsoft Edge (Chromium) 。 支持桌面和移动版本。
- Mozilla Firefox:当前版本 - 1,Windows 和 Mac 版本。
- Google Chrome:当前版本 - 1,Windows 和 Mac 版本。
- Safari:当前版本 - 1,Mac 和 iOS 版本。
- Opera:当前版本 - 1,仅限 Windows。
- Android 浏览器
除了需要某些浏览器外,SignalR 使用的各种传输也有自身的要求。 以下配置支持以下传输:
Web 浏览器传输要求
Transport | Internet Explorer | Chrome (Windows 或 iOS) | Firefox | Safari (OSX 或 iOS) | Android |
---|---|---|---|---|---|
WebSockets | 10+ | 当前 - 1 | 当前 - 1 | 当前 - 1 | 不可用 |
Server-Sent Events | 不适用 | 当前 - 1 | 当前 - 1 | 当前 - 1 | 不可用 |
ForeverFrame | 8+ | 不适用 | 不可用 | 不可用 | 4.1 |
长轮询 | 8+ | 当前 - 1 | 当前 - 1 | 当前 - 1 | 4.1 |
*:完整功能需要 6 个以上。
不支持的浏览器
虽然 SignalR 在较旧的浏览器版本中 运行时不会出现 重大问题,但我们不会主动测试其中的 SignalR,并且通常不会修复可能出现在它们中的 bug。
Windows 桌面和 Silverlight 应用程序
除了在 Web 浏览器中运行之外,SignalR 还可以托管在独立的 Windows 客户端或 Silverlight 应用程序中。 Windows 桌面版和 Silverlight SignalR 应用程序具有以下系统要求。
- Windows XP SP3 或更高版本支持使用 .NET 4 的应用程序。
- Windows Vista 或更高版本支持使用 .NET Framework 4.5 的应用程序。
除了操作系统和 .NET Framework 要求外,SignalR 可用的传输也有自身的要求。 以下配置支持以下传输:
Windows 桌面和 Silverlight 传输要求
Transport | .NET 应用程序 | Silverlight |
---|---|---|
Web 套接字 | Windows 8+ 和 .NET 4.5+ | 不适用 |
永远帧 | 不适用 | 空值 |
Server-Sent Events | .NET 4+ | 5+ |
长轮询 | .NET 4+ | 5+ |
Windows 应用商店和Windows Phone应用程序
SignalR 可用于 Windows 应用商店应用程序和 Windows Phone 8 应用程序。 以下配置支持以下传输:
Windows 应用商店和Windows Phone传输要求
Transport | Windows 应用商店/.NET | Windows 应用商店/JavaScript | Windows Phone/IE | Windows Phone/.NET |
---|---|---|---|---|
WebSockets | 空值 | Win8+ | 8+ | 空值 |
永远帧 | 不可用 | Win8+ | 7.5+ | 空值 |
Server-Sent Events | Win8+ | 不可用 | 不可用 | 8+ |
长轮询 | Win8+ | Win8+ | 7.5+ | 8+ |
建议的汇报
建议对 SignalR 服务器进行以下更新:
- 此处提供了 .NET Framework 4.5 的更新。
- Microsoft 将定期发布适用于 ASP.NET 的 QFE。 这些应应用为可用。