1:新建一个empty的MVC项目
2:如果没有安装过signalr过那么要通过Nuget安装signalr
3:新建一个controller 然后建一个view =>index
4:新建一个signalr集线器类叫PersonHub 然后会看到里面有一个hello的默认的方法,,
5:然后在新建一个OWIN Startup类=》Startup1
6:在Startup1里面的Configuration方法里面加入app.MapSignalR();此方法的作用是将 SignalR 集线器映射到“/signalr”处的应用生成器管道
7:建好之后,会发现script文件下面里面,会生产相关的jquery.js和signalr.js
8:打开index.cshtml然后把jquery.js和 jquery.signalR.js 引用进来
9:还需要一个js就是,后台和前台连接的js,这个js是根据集线器里面的后台方法生产的,所以后台如果新加方法或者改变的时候,这个js也会改变,那我们就需要一种方法每次自动生产这个js到我们的script文件夹下面
10:这个方法就是用Microsoft.AspNet.SignalR.Utils工具,
11:Microsoft.AspNet.SignalR.Utils工具是需要从nuget里面获取的,打开nuget控制台,输入命令Install-Package Microsoft.AspNet.SignalR.Utils,
、
12:找到本项目的packages文件夹下面的Microsoft.AspNet.SignalR.Utils.2.2.1 ools里面的就是我们重新需要的工具
13:然后用我们项目的生产事件来生成我们的js文件(项目=》属性=》生成事件=》编辑后期生产的事件,然后输入如下命令)
13.1:工具的路径和执行=》H:LianXiSignalR1SignalR1packagesMicrosoft.AspNet.SignalR.Utils.2.2.1 oolssignalr.exe ghp /
13.2:bin路径=》/path:H:LianXiSignalR1SignalR1SignalR1in
13.3:生成的js的路径=》/o:H:LianXiSignalR1SignalR1SignalR1Scriptsmyhub1.js
最中如图下所示
14:重新生产项目,就会看到scripts下面有我们的myhub1文件
15:把myhub1.js引入index.cshtml里面 至此signalr所必须的js就引用完毕了
16:改写PersonHub类下面的hell方法
17:给index.html的的script里面加入相关方法,总的index.cshtml如下所示
@{ ViewBag.Title = "Index"; } <script src="~/Scripts/jquery-1.10.2.min.js"></script> <script src="~/Scripts/jquery.signalR-2.1.2.js"></script> <script src="~/Scripts/myhub1.js"></script> <script> var proxy = $.connection.personHub; //这个方法是被server调用的 proxy.client.Welcome = function (msg) { console.log(msg); } $.connection.hub.start().done(function (data) { proxy.server.hello(); }).fail(function () { }); </script> <div> sdfsdf </div>
18:运行项目
19:一个简单的signalr项目就搭建好了,
20:此教程来自“一线码农的”的视频,我练习而已