打开 Visual Studio(我的版本是 2013),建立一个 ASP.NET 项目。
第一步、添加一个“SignalR 永久连接类”
如下图:
添加后,我们可以发现 Visual Studio 还自动为我们添加了一些引用,还有 Scripts 文件夹(里面包含 jquery.signalR-2.0.0.js)。这个类初始的代码如下:
第二步、添加“OWIN Startup 类”
然后添加点代码:
MyConnection1 就是第一步创建的类名。
第三步、添加一个“Web 窗体 ”
运行效果如下:
扩展一下
MyConnection1:
MyConnection1 的 Connection 属性:
JS:
下面看一个更全点的代码:
上面不是说有些方法没有用到没,下面的例子更全一点:
MyConnection1:
Web 窗体的代码:
到目前为止,大家可能都提不起兴趣,服务器主动发送数据在哪里???
我们现在做一个定时程序,服务器定时向浏览器发送数据。
新建 Global.asax(全局应用程序类)(并不是说这些代码只能在 Global.asax 中运行,我们只是为了测试定时执行,才放在这里的)。
添加如下代码:
效果如下:
以上代码,我们用的是 context.Connection.Broadcast,如果是针对某一连接发送,则用 Send 方法,这就需要 connectionId,不过要选择哪个 connectionId 都是业务层面的事,不是问题。