SignalR类似与JavaScript实时框架,如Socket.IO。SignalR能够完成客户端向服务器的异步通信,并同时支持服务器向浏览器客户端推送事件。SignalR的连接通过日益流行的WebSockets API完成,而如果WebSockets无法使用,它会透明地回落为长轮询技术(long-polling technique)。如果开发人员想使用Signal,需要在客户端层使用像jQuery的JavaScript框架,并在服务端层使用.NET代码编写应用和服务。SignalR具有多种编程模型(PersistentConnections 和Hubs),它为开发人员提供了连接、消息接收群以及事件处理器的不同层次的访问。
SignalR显示已经可在单台机器上扩展至上万个连接,同时可以通过service bus和redis 以及sql server 实现可扩展的集群部署,具体参看Microsoft ASP.NET SignalR。
我们可以下载ASP.NET 2012 Fall Update安装包(http://www.microsoft.com/en-us/download/details.aspx?id=35493),安装完毕以后,就可以在 Visual Studio里看到新的项目模板。
SignalR 包括一些针对不同功能的类库,下载安装可以看到一下几个主要项目:
- Microsoft.AspNet.SignalR – meta package (use this)
- Microsoft.AspNet.SignalR.Client – .NET 4 and WinRT client
- Microsoft.AspNet.SignalR.JS – The Javascript client.
- Microsoft.AspNet.SignalR.Core – Core server package with no host implementation
- Microsoft.AspNet.SignalR.Hosting.AspNet – The ASP.NET host
- Microsoft.AspNet.SignalR.Hosting.Utils – utilities for signalr (signalr.exe)
- Microsoft.AspNet.SignalR.Redis – Redis message bus implementation
- Microsoft.AspNet.SignalR.ServiceBus – Service bus message bus implementation
GItHUb上的地址:https://github.com/SignalR/SignalR
安装也很简单,另外一种方式可以通过控制台安装:To install Microsoft ASP.NET SignalR, run the following command in the Package Manager Console
PM> Install-Package Microsoft.AspNet.SignalR
ASP.NET SignalR 目前还在持续不断更新完善中,这个框架目前还没正式集成到.NET框架里。不过作为Web开发,实时同时,客户端和服务端双工通信这也是非常重要的需求。无论是传统Web网站还是移动平台,这个框架应该都会对我们的开发工作带来很大便利。
SignalR Hub Authorization
Securing SignalR to your site’s users
Scaling SignalR with Redis
Running SignalR on Mono
Using SignalR in MonoTouch and Mono for Android Apps
SignalR really changes everything
Real Time Commenting using SignalR and XSLT
基于SignalR的超线程上载器
Asp.Net SignalR Chat Room
(原创)利用SignalR实现IOS即时通讯(A篇服务端)
使用SignalR实时显示淘宝买家信誉及中差评信息
[Xamarin] iOS 與Android結合SignalR
SignalR -- server push 利器
http://www.codeproject.com/Articles/584845/SignalR-as-a-Service
Pushing ETW events through SignalR
Comet:基于 HTTP 长连接的“服务器推”技术解析
ASP.NET SignalR Basis Step by Step (Part 1)
ASP.NET SignalR Basis Step by Step (Part 2)
Debug / Inspect WebSocket traffic with Fiddler
Azure 的 ASP.NET SignalR
SignalR 再次超越你對 Web 的想像 - 建立即時互動的 Web