ASP.NET_使用SignalR实现前(js)后(c#)端通信(长连接)

首先:
下载相关SignalR的库(工具->管理NuGet->搜SignalR(注意联机))
在这里插入图片描述
安装…
添加类(新建项后选择):Startup

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

[assembly: OwinStartup(typeof(命名空间名称.Startup))]
namespace 命名空间名称
{
    public class Startup//路由注册
    {
        public void Configuration(IAppBuilder app)
        {
            
            //app.MapSignalR();//HUB   signalr2.1.0
            //app.MapHubs();//HUB  signal1.2.0
            app.MapSignalR<Hubs.MyConnection>("/temp");//长连接注册路由
        }
    }
}

前端:

 <script type="text/javascript">   
        //访问路由
        var conn = $.connection("/temp");
        
        //连接
        conn.start().done(function (){
  			alert("永久连接:连接成功")
        }).fail(function () { alert("永久连接:连接失败,请退出重入") });
        
        //接收
        conn.received(function(data)//此为前端接收
        {
        alert(data);//data为字符串
        });
        
        //发送
         conn.send("即时消息");
        </script>

后端:
添加类(新建项后选择):永久连接类

 protected override Task OnReceived(IRequest request, string connectionId, string data)
        {
          return Connection.Send(connectionId, "收到了消息");//后端Send方法
        }

此为永久连接类,只要页面未丢失,连接保持,Hub会断

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值