什么是 SignalR?
ASP.NET SignalR 是 ASP.NET 开发人员的库,可简化将实时 web 功能添加到应用程序的过程。 实时 web 功能使服务器代码能够在可用时立即将内容推送到连接的客户端,而不是让服务器等待客户端请求新的数据。(简单地说就是服务端实时向客户调推送消息)
1.NuGet管理 安装signalr(注意:Signal2.x 仅支持.net 4.5以上)
--install-package Microsoft.AspNet.SignalR

2.新建一个实现SignalR集线器的类

3.新建一个用于配置OWIN应用程序的类

4.测试~/signalr/hubs地址
若~/signalr/hubs地址可正常访问说明集线器已部署正常,这里可以看到已经部署的集线器(首字母要小写,jquery最低版本1.6.4)

5.编写前端
这里尤为注意:$.connection.hub.start();必须写在xx.client.Test =function(){...}之前,否则后端OnConnected、OnDisconnected不会生效

6.最终效果

任意新增一个链接,所有已经打开的客户端都会收到来自服务端的广播,当前实时连接设备数;
这个功能更适合聊天室的场景,但目前有一个问题笔者暂时未找到原因,即:
FireFox、Edge等浏览器关闭页面时能立即触发服务端OnDisconnected方法,但Chrome、Opera等浏览器关闭页面时不能立刻触发,需要等一段时间才能触发,有知道的大神可以在评论区留言解答一下。