前几天现在用win7的iis6,发现signalr居然不能正常工作,原来SignalR要求net4.5以上,而那台测试用的win7只有4.0.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 应用必须使用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传输的支持对照表:
浏览器传输方式支持要求。
Transport | Internet Explorer | Chrome (Windows or iOS) | Firefox | Safari (OSX or iOS) | Android |
---|---|---|---|---|---|
WebSockets | 10+ | current - 1 | current - 1 | current - 1 | N/A |
Server-Sent Events | N/A | current - 1 | current - 1 | current - 1 | N/A |
ForeverFrame | 8+ | N/A | N/A | N/A | 4.1 |
Long Polling | 8+ | current - 1 | current - 1 | current - 1 | 4.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 application | Silverlight |
---|---|---|
Web Sockets | Windows 8+ and .NET 4.5+ | N/A |
Forever Frame | N/A | N/A |
Server-Sent Events | .NET 4+ | 5+ |
Long Polling | .NET 4+ | 5+ |
SignalR Window 商店和 WinPhone 应用支持
SignalR 能够运用在Window 商店 和 Windows Phone 8 应用上。下面的其所支持的传输方式比照表:
SignalR Window 商店和 WinPhone 应用传输方式支持对照表
Transport | Windows Store/ .NET | Windows Store/ JavaScript | Windows Phone/ IE | Windows Phone/ .NET |
---|---|---|---|---|
WebSockets | N/A | Win8+ | 8+ | N/A |
Forever Frame | N/A | Win8+ | 7.5+ | N/A |
Server-Sent Events | Win8+ | N/A | N/A | 8+ |
Long Polling | Win8+ | Win8+ | 7.5+ | 8+ |
SignalR 建议更新版本
下面的列表是针对SignalR 服务器的建议更新版本:
- 对于 .NET Framework 4.5的更新可以点击查看
-
微软在定期为ASP.NET 发布 QFEs。
以上就是SignalR 服务器配置、组件要求和浏览器兼容性的详细讲解。在下一节我们将通过一个实际的例子暂时SignalR的实现过程。