加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 01:19:36 所属栏目:百科 来源:网络整理
导读:## 强类型的优缺点 - 优点 强类型的Hub可以避免魔法函数名,相比弱类型更容易维护和发现问题,直接上代码 - 缺点 特么的得多些好几行代码 ## 代码 ### 接口定义 ``` C# /// /// 服务端接口 /// public interface IServerNotifyHub { } /// /// 客户端使用的
## 强类型的优缺点 - 优点 强类型的Hub可以避免魔法函数名,相比弱类型更容易维护和发现问题,直接上代码 - 缺点 特么的得多些好几行代码 ## 代码 ### 接口定义 ``` C# /// /// 服务端接口 /// public interface IServerNotifyHub { } /// /// 客户端使用的接口 /// public interface IClientNotifyHub { // 这里我们定义一个统一的客户端通知方法 Task OnNotify(object data); } ``` ### 实现 - 对之前的Hub进行修改,暂时就先通过OnNotify给当前所有客户端推送一个信息 ``` C# public class NotifyHub : Hub ,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; public NotifyController(IHubContext notifyHub) { _notifyHub = notifyHub; } ``` 至此,强类型的Hub介绍完毕,更多内容请通过快速导航查看下一篇 ## 快速导航 | 标题 | 内容 | :--- | :--- | 索引 | [.net core 3.0 Signalr - 实现一个业务推送系统](https://blogs.xxgtalk.cn/2019/09/20/dotnetcore/signalr/00-introduct/) | 上一篇 | [.net core 3.0 Signalr - 01 基础篇](https://blogs.xxgtalk.cn/2019/09/21/dotnetcore/signalr/01-base/) | 下一篇 | [.net core 3.0 Signalr - 03 使用MessagePack压缩传输内容](https://blogs.xxgtalk.cn/2019/09/29/dotnetcore/signalr/03-message-pack) | 源码地址 | [源码](https://github.com/xiexingen/CTS.Signalr) | 官方文档 | [官方文档](https://docs.microsoft.com/zh-CN/aspnet/core/?view=aspnetcore-3.0) ![二维码](https://img2018.cnblogs.com/blog/394514/201910/394514-20191005213150012-383798735.gif) ,iclientnotifyhub> ,iclientnotifyhub>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读