创建一个简单的signalr项目

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:此教程来自“一线码农的”的视频,我练习而已

原文地址:https://www.cnblogs.com/gouguo/p/signalr.html