多语言展示
当前在线:1989今日阅读:86今日分享:14

SignalR入门教程

SignalR是基于B/S架构的实时通讯组件,可以由服务器向客户端推送数据,而不用让服务器等待客户端的请求数据。同时,SignalR默认自动选择支持的传输方式,当然也可以指定某一种或者多种传输方式(如:优先WebSockets,然后长轮询方式:connection.start({transport:['webSockets', 'longPolling']}))。1、HTML5传输:        如果浏览器支持此方式2、WebSocket传输: 客户端和服务器之间建立持久双向连接的传输方式,要求服务器是Windows Server 2012+,Windows 8+,.NET FrameWork 4.5+3、服务器发送事件:   除IE外的其他浏览器支持4、Comet传输:        基于Comet Web模型,客户端维护者一个长时间的Http请求5、Forever Frame:  仅IE支持6、Ajax长轮询:        不会创建持久性的连接,采用轮询服务器的方式实现用于指定传输方式的字符串常量有:  webSockets、forverFrame、serverSentEvents、longPollingIIS要求:  1)IIS 8+  2)IIS 7、IIS 7.5:需要 extensionless URLs支持  3)IIS应用程序池必须在集成模式下运行 下面介绍 SignalR 2.0 + ASP.NET MVC 5.0 的入门教程
方法/步骤
1

【创建MVC项目】      创建asp.net mvc 5.0的项目SignalRDemo,并添加HomeController和Index页面

2

【安装SignalR】      在SignalRDemo项目上【右键】->【管理NuGet程序包】-> 搜索【signalr】-> 安装

3

【注册SignalR中间件】      在SignalRDemo项目上【右键】->【添加】->【类】,输入【Startup】作为类名,并添加如下代码

4

【创建Hub】      在SignalRDemo项目上添加文件夹【Hubs】,并添加如下类【FirstHub】,在实际的项目中,此类可以独立为一个项目的      注意:此处为了方便使用,移除了命名空间的【.Hubs】后缀

5

【页面添加SignalR引用】      注意:需要添加SignalR自动生成的代码引用,即使在未运行前项目中看不到这个文件夹

6

【页面调用SignalR】      注意:JS调用后台方法的首字母小写

7

【运行效果】      可以打开多个浏览器,或者浏览器页签,在一个页面中输入内容,点击按钮提交内容,不需要刷新各个页面,服务端将自动推送内容到各个页面。      由于此处演示,并未存储之前的值,所以,如果后面打开的页面是看不到前面的提交过的内容的

推荐信息