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、longPolling
IIS要求:
1)IIS 8+
2)IIS 7、IIS 7.5:需要 extensionless URLs撑持
3)IIS应用法式池必需在集当作模式下运行
下面介绍 SignalR 2.0 + ASP.NET MVC 5.0 的入门教程
【建立MVC项目】
建立asp.net mvc 5.0的项目SignalRDemo,并添加HomeController和Index页面
【安装SignalR】
在SignalRDemo项目上【右键】->【办理NuGet法式包】-> 搜刮【signalr】-> 安装
【注册SignalR中心件】
在SignalRDemo项目上【右键】->【添加】->【类】,输入【Startup】作为类名,并添加如下代码
【建立Hub】
在SignalRDemo项目上添加文件夹【Hubs】,并添加如下类【FirstHub】,在现实的项目中,此类可以自力为一个项目标
注重:此处为了便利利用,移除了定名空间的【.Hubs】后缀
【页面添加SignalR引用】
注重:需要添加SignalR主动生当作的代码引用,即使在未运行前项目中看不到这个文件夹
【页面挪用SignalR】
注重:JS挪用后台方式的首字母小写
【运行结果】
可以打开多个浏览器,或者浏览器页签,在一个页面中输入内容,点击按钮提交内容,不需要刷新各个页面,办事端将主动推送内容到各个页面。
因为此处演示,并未存储之前的值,所以,若是后面打开的页面是看不到前面的提交过的内容的
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!