SignalR新手系列教程详解(五)- SignalR平台配置要求

知道91 | 教程 | 2017-11-15 | 阅读:11531

在上一讲中我们讲解了SignalR连接模式和Hub原理分析,下面我们继续分析SignalR的平台支持。

SignalR 支持在不同的服务器和客户的配置。另外每种传输方式由自己相应的配置。如果系统不满足某张传输方法,SignalR 也能将措辞转移到其他传输方式上。更多关于SignalR 传输方式的要求请看SignalR传输方式和选择分析

SignalR 服务器系统配置要求

SignalR 服务器系统配置要求

SignalR 服务器组件可以进行多种配置。下面的章节描述了SignalR 所支持的服务器版本、.NET Framework 版本、IIS和其他组件。

SignalR操作系统要求

SignalR组件能够运行在下面的服务器和客户端操作系统。需要注意的是使用WebSockets传输方式,SignalR需要Windows Server 2012 或者 Windows 8(WebSocket 能够运用在Windows Azure Web 站点, .NET framework 需在4.5及其以上)。

  • Windows Server 2012
  • Windows Server 2008 r2
  • Windows 8
  • Windows 7
  • Windows Azure

SignalR支持的.NET Framework 版本

SignalR 2 只能支持 .NET Framework 4.5。查看下面的“SignalR 建议更新版本”更新,使其更加可靠、兼容性更好、更加稳定、性能更优。

SignalR支持的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 Protocol Support

  • IIS 8 或者 IIS 8 Express
  • IIS 7 和 7.5. Support,并且要支持extensionless URLs    
  • IIS 应用程序池必须是在集成模式下,经典模式不支持。如果允许30 秒以上的延迟,那么经典模式可以使用Server-Sent事件传输。
  • 应用程序必须运行在全信任模式下

SignalR 客户端要求

SignalR能够运用在各种客户端平台。下面的章节介绍了能够SignalR能够使用的浏览器、桌面应用、Silverlight 应用和移动设备。

SignalR 浏览器支持

SignalR 浏览器支持

SignalR 能够运行在多种浏览器下,但是典型支持的是下面最新的两种情况。

浏览器中运行的SignalR 应用必须使用jQuery 1.64 或者其他更高版本(比如jQuery 1.7.2, 1.8.2, or 1.9.1)。

SignalR 能够运用在下面的浏览器下:

  • IE 8,9,10和11. 桌面和移动应用都支持。
  • Mozilla Firefox都支持,包括Windows和Mac版本。
  • Chrome 谷歌浏览器的所有版本,包括Windows和Mac版本。
  • Safari浏览器的所有版本,包括IOS和Mac版本。
  • Opera 所有版本,只支持Windows。
  • Android 浏览器。

另外对于特定的浏览器,SignalR 所使用的传输方式有各自的要求。下面的各个浏览器版本对SignalR传输的支持对照表:

浏览器传输方式支持要求。

TransportInternet ExplorerChrome (Windows or iOS)FirefoxSafari (OSX or iOS)Android
WebSockets10+current - 1current - 1current - 1N/A
Server-Sent EventsN/Acurrent - 1current - 1current - 1N/A
ForeverFrame8+N/AN/AN/A4.1
Long Polling8+current - 1current - 1current - 14.1

SignalR 不支持的浏览器

对于老浏览器的SignalR 没有太大的问题,但是微软官方也说了SignalR在一些更低版本的浏览器测试程度不够,很有可能会出现没有修复的bug。所有建议太老的浏览器版本还是不要使用。

SignalR 桌面和Silverlight 应用

除了浏览器,SignalR也能运行在Windows 和 Silverlight 应用上,但是需要下面的要求:

  • Windows XP SP3或者更高版本支持 .NET 4应用。
  • Windows Vista 或者更新系统能够支持  .NET Framework 4.5。

另外操作系统和.NET framework , 根据SignalR 传输方式不同,本部需要的配置如下:

Windows桌面和Silverlight 应用传输方式需求

Transport.NET applicationSilverlight
Web SocketsWindows 8+ and .NET 4.5+N/A
Forever FrameN/AN/A
Server-Sent Events.NET 4+5+
Long Polling.NET 4+5+

SignalR Window 商店和 WinPhone 应用支持

SignalR 能够运用在Window 商店 和 Windows Phone 8 应用上。下面的其所支持的传输方式比照表:

SignalR Window 商店和 WinPhone 应用传输方式支持对照表

TransportWindows Store/ .NETWindows Store/ JavaScriptWindows Phone/ IEWindows Phone/ .NET
WebSocketsN/AWin8+8+N/A
Forever FrameN/AWin8+7.5+N/A
Server-Sent EventsWin8+N/AN/A8+
Long PollingWin8+Win8+7.5+8+

SignalR 建议更新版本

下面的列表是针对SignalR 服务器的建议更新版本:

  • 对于 .NET Framework 4.5的更新可以点击查看    
  • 微软在定期为ASP.NET 发布 QFEs。

以上就是SignalR 服务器配置、组件要求和浏览器兼容性的详细讲解。在下一节我们将通过一个实际的例子暂时SignalR的实现过程。