龙空技术网

如何在web api中使用SignalR

中年农码工 803

前言:

如今小伙伴们对“jquery输入控件ie8”大约比较讲究,你们都需要剖析一些“jquery输入控件ie8”的相关知识。那么小编在网摘上搜集了一些对于“jquery输入控件ie8””的相关知识,希望我们能喜欢,朋友们快快来学习一下吧!

第一步:建web api项目

第二步:nuget导入signalr

Install-Package Microsoft.AspNet.SignalR

Install-Package Microsoft.Owin.Cors  (用于跨域)

第三步:创建hub类

demo是从网上down的,去除了一些没用到的东西,只保留了MessageHub

第四步:创建Startup类

第五步:在webapi方法中调用推送

Clients.All 会给所有客户端推送, hub.Clients.All.showMessage()意思是调用所有连接的客户端的showMessage方法。

说明:如果想给指定的人推送,要先获得指定连接的ConnectionId, 通过

hub.Clients.Clients(iList string list).showMessage 来调用, 这里的list是ConnectionId集合。

注1:showMessage这个方法名是自定义的,只要与前端一致即可。

注2:后面会说怎么给指定人推送消息。

至此,signalr在webapi的代码已经完成。将其放到iis里。注意应用程序池的.net版本。

IIS绑定的9999端口,所以网址就是

第六步:编写接收推送消息的web端A

建一个web程序,这里只建了一个webform程序。在nuget中导入signalR

这里的地址的前半段就是iis绑定的地址。

$.connection.messageHub, 这个messageHub首字母要小写。

hub.client.showMessage,对应webapi里的调用。

jQuery.support.cors=true, 主要针对IE8,9跨越(本人并未验证)

补充:

$.connection.hub.disconnected(function (e) {

console.log(“断开连接”); //这里添加断开连接的处理方法

});

//如果断开连接,会自动重连10次,10次都失败,会触发disconnected方法

第七步:使用app或者其他端调用webapi里的方法, web端A推送消息

这里就不用app了,用一个web页面来代替app调用。具体如下:

END:一个简单的demo完成了。

最后:如何推送给指定用户。

向指定用户推送,要用到connetionid 。

在MessageHub类里添加一个SendLogin方法:

这是网上找到demo, 后期考虑把 name和connetionid关系存到数据库中。

接收推送端:注意首字母小写

Webapi方法里:

标签: #jquery输入控件ie8