MVC SignalR Hub初学

具体有关SignalR的说明查网上,我这里简单列举一个例子

1.新建MVC,添加SignalR引用(NuGet安装)。

2、添加OWIN START类

 public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888
            app.MapSignalR();//添加此句
        }
    }

3、添加SignalR 集线器类

[HubName("chatHub")] //对Hub起个名方便客户端连接
    public class ChatHub : Hub
    {
        public void Send(string msg)//服务器方法,是浏览器端js调用此方法
        {
            Clients.All.sendmsg(msg);//服务器调用客户端中的js方法
        }
    }

4、添加控制器Home中的视图Index

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script src="~/Scripts/jquery-1.6.4.min.js"></script>
    <script src="~/Scripts/jquery.signalR-2.2.1.min.js"></script>
    <script src="~/signalr/hubs"></script>
</head>
<body>
    <input id="msg" />
    <button id="btn">send</button>
    <div>
        <ul id="contentMsg"></ul>
    </div>
    <script>
        $(function () {

            var chat = $.connection.chatHub;//就是服务器端Hub类

            chat.client.sendmsg=function(msg){$("ul").append("<li>"+msg+"</li>");};//服务器调用此方法,并把服务器推送过来的信息展示在页面上

            $.connection.hub.start();//启动连接

            $("#btn").click(function () {//当发送信息时调用服务器方法
                chat.server.send($("#msg").val());//这里调用服务器端的Send方法,不知道为什么大写的Send就不起作用。
            });


        });
    </script>
</body>
</html>
原文地址:https://www.cnblogs.com/lunawzh/p/6764143.html