支持的平台

作者 :Patrick Fletcher

警告

本文档不适用于最新版本的 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。 这些应应用为可用。