signalR

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了signalR相关的知识,希望对你有一定的参考价值。

1.添加signalR包

2.添加Startup类

using System;
using System.Threading.Tasks;
using Microsoft.Owin;
using Owin;

[assembly: OwinStartup(typeof(signalR.Startup))]

namespace signalR
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=316888
            //注册signalr/hubs
            app.MapSignalR();
        }
    }
}

 3.添加MyHub类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.SignalR;

namespace signalR
{
    public class MyHub : Hub
    {
        public void Hello(string message)
        {
            Clients.All.hello(message);
        }
    }
}

 4.前台js引用并实现

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="Scripts/jquery-1.6.4.min.js"></script>
    <script src="Scripts/jquery.signalR-2.2.2.min.js"></script>
    <script src="signalr/hubs"></script>
    <script>
        $(function () {
            var hellohub = $.connection.myHub;
            hellohub.client.hello = function (message) {
                $("#text").append("<p>" + message + "</P>");
            };
            $.connection.hub.start().done(function () {
                $("#send").click(function () {
                    hellohub.server.hello("testmessage");
                })
            });
        })        
    </script>
</head>
<body>
    <input id="send" type="button" value="send" />
    <div id="text"></div>
</body>
</html>

 5.后台调用代码

Microsoft.AspNet.SignalR.GlobalHost.ConnectionManager.GetHubContext<MyHub>().Clients.All.hello(content);

 

以上是关于signalR的主要内容,如果未能解决你的问题,请参考以下文章

SignalR OnConnected 与多台服务器和 Redis 背板

C# SignalR:从代码隐藏更新数据的问题

角度 SignalR 经常断开连接并显示错误状态代码 1006

websocket握手代码期间无法连接signalR错误:400

ASP.NET Core SignalR :SignalR Javascript 客户端

SignalR - 从服务器端代码调用 Hub 类方法(存在于单独的 MVC 项目中)