当前位置: 移动技术网 > IT编程>开发语言>.net > .net core 3.0 Signalr - 02 使用强类型的Hub

.net core 3.0 Signalr - 02 使用强类型的Hub

2019年10月06日  | 移动技术网IT编程  | 我要评论

月光下的凤尾竹串词,网游之超级鬼才txt全集下载,深圳网络公司

强类型的优缺点

  • 优点
    强类型的hub可以避免魔法函数名,相比弱类型更容易维护和发现问题,直接上代码
  • 缺点
    特么的得多些好几行代码

代码

接口定义

  /// <summary>
  /// 服务端接口
  /// </summary>
  public interface iservernotifyhub
  {

  }

  /// <summary>
  /// 客户端使用的接口
  /// </summary>
  public interface iclientnotifyhub
  {
      // 这里我们定义一个统一的客户端通知方法
      task onnotify(object data);
  }

实现

  • 对之前的hub进行修改,暂时就先通过onnotify给当前所有客户端推送一个信息
  public class notifyhub : hub<iclientnotifyhub>,iservernotifyhub
    {
        public override async task onconnectedasync()
        {
            await clients.all.onnotify(new { connectid = context.connectionid });
            await base.onconnectedasync();
        }
    }

在api中调用hub推送

大部分情况下,是通过客户端某个操作,比如:将任务分配给张三,那么在分配任务的这个api中会调用推送 推送给张三一个通知,xxx分配了一个任务给你,在controller中注入强类型的hub,代码如下
c# ... private readonly ihubcontext<notifyhub,iclientnotifyhub> _notifyhub; public notifycontroller(ihubcontext<notifyhub,iclientnotifyhub> notifyhub) { _notifyhub = notifyhub; }

至此,强类型的hub介绍完毕,更多内容请通过快速导航查看下一篇

快速导航

标题 内容
索引 .net core 3.0 signalr - 实现一个业务推送系统
上一篇 .net core 3.0 signalr - 01 基础篇
下一篇 .net core 3.0 signalr - 03 使用messagepack压缩传输内容
源码地址 源码
官方文档 官方文档

二维码

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网