标签:style blog http io ar color os 使用 sp
什么是SignalR?
ASP .NET SignalR是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信。什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以互相通知消息及调用方法,当然这是实时操作的。
WebSockets是HTML5提供的新的API,可以在Web网页与服务器端间建立Socket连接,当WebSockets可用时(即浏览器支持Html5)SignalR使用WebSockets,当不支持时SignalR将使用其它技术来保证达到相同效果。
SignalR当然也提供了非常简单易用的高阶API,使服务器端可以单个或批量调用客户端上的JavaScript函数,并且非常 方便地进行连接管理,例如客户端连接到服务器端,或断开连接,客户端分组,以及客户端授权,使用SignalR都非常 容易实现。
集线器是基于API但级别更高一级的通信管道,它允许客户端和服务器上互相直接调用方法。SignalR能够奇妙的处理跨机器的调度,让客户端轻松的调用服务器上的方法,如同调用本地方法一样,反之亦然。使用过基于远程调用的AIP如.Net Remoting的开发人员将更熟悉集线器模型。使用集线器,你还可以将强类型的参数传递给方法并且对模型绑定。
大多数应用程序可以使用集线器的API,但在下列的情况下,你应当使用连接API:
SignalR的服务器组件被以下服务器和客户端操作系统支持。
请注意,如果你想让SignalR使用的WebCosket,则需要Windows Server 2012或Windows 8 操作系统(WebSocket也可以被Windows Azure网站支持,前提是网站的.Net框架版本为4.5,并且在配置页中已经启用了WebSockets)。
SignalR 2.0仅支持.Net 框架4.5
SignalR被以下版本的IIS支持。
请注意,如果使用客户端操作系统,比如用于开发(Windows 7 或 8),则不应使用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。
SignalR可以用于各种客户端平台。本节介绍SignalR在Web浏览器、Windows桌面应用程序,Silverlight应用程序和移动设备中的系统要求。
SignalR可以在各种Web浏览器中使用,但通常情况下,只有支持最新的两个版本。
应用程序在浏览器中使用SignalR必须使用jQuery版本1.6.4,或主要版本(如1.7.2,1.8.2,1.9.1等)。
SignalR在以下浏览器中可用:
除了浏览器要求,SignalR所使用的传输方式也有各自的要求,如下表:
传输方式 | IE | Chrome(Win或iOS) | FF | Safari(OSX或iOS) | 安卓 |
WebSockets | 10+ | 当前-1 | 当前-1 | 当前-1 | 不支持 |
Server-Sent Events | 不支持 | 当前-1 | 当前-1 | 当前-1 | 不支持 |
ForeverFrame | 8+ | 不支持 | 不支持 | 不支持 | 4.1 |
Long Polling | 8+ | 当前-1 | 当前-1 | 当前-1 | 4.1 |
虽然在旧版本的浏览器中运行SignalR中可能不会有重大问题,但我们不会主动去测试SignalR在旧浏览器中的运行情况,也不会解决同旧浏览器的兼容问题。
请参考配置及测试列表: our testing matrix。
除了在网络浏览器上运行,SignalR也可以被配置使用在独立的Windows客户端或Silverlight应用程序中。要使用SignalR,Windows桌面和Silverlight应满足以下系统需求:
除了操作系统及框架版本需求,SignalR对于传输方式也有各自的要求,如下表:
传输方式 | .Net应用程序 | Silverlight |
WebSockets | Win 8及.Net 4.5以上 | 不支持 |
ForeverFrame | 不支持 | 不支持 |
Server-Sent Events | .Net 4以上 | 5以上 |
Long Polling | .Net 4以上 | 5以上 |
SignalR可以用在Windows存储和Windows Phone应用程序中,对于传输方式也有各自的要求,如下表:
传输方式 | Windows存储/.Net | Windows存储/JS | Windows Phone/IE | Windows不支持 Phone/.Net |
WebSockets | 不支持 | Win8以上 | 8以上 | 不支持 |
ForeverFrame | 不支持 | Win8以上 | 7.5以上 | 不支持 |
Server-Sent Events | Win8以上 | 不支持 | 不支持 | 8以上 |
Long Polling | Win8以上 | Win8以上 | 7.5以上 | 8以上 |
推荐以下SignalR服务器更新:
以上是博友文章的节选
标签:style blog http io ar color os 使用 sp
原文地址:http://www.cnblogs.com/purplebolt/p/4117202.html