.net core 3.0 Signalr - 02 使用强类型的Hub
Posted xiexingen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net core 3.0 Signalr - 02 使用强类型的Hub相关的知识,希望对你有一定的参考价值。
强类型的优缺点
- 优点
强类型的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压缩传输内容 |
源码地址 | 源码 |
官方文档 | 官方文档 |
以上是关于.net core 3.0 Signalr - 02 使用强类型的Hub的主要内容,如果未能解决你的问题,请参考以下文章
.net core 3.0 Signalr - 05 使用jwt将用户跟signalr关联
.net core 3.0 Signalr - 05 使用jwt将用户跟signalr关联
.net core 3.0 Signalr - 07 业务实现-服务端 自定义管理组用户连接
.net core 3.0 Signalr - 07 业务实现-服务端 自定义管理组用户连接