Asp.net|Asp.net core 使用SignalR推送消息过程详解
【Asp.net|Asp.net core 使用SignalR推送消息过程详解】1)、SignalR简介
ASP.NET Core SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。
实时 Web 功能是指这样一种功能:当所连接的客户端变得可用时服务器代码可以立即向其推送内容,而不是让服务器等待客户端请求新的数据。
2)、SignalR主要用途:
它出现的主要用途:可以用在聊天室、Web实时推送消息 (Real-Push-Message)、单点和多点通讯、扫码登陆、甚至可以结合其他技术用来做视频聊天等等。
适合 SignalR 的候选项:
- 需要从服务器进行高频率更新的应用。 示例包括游戏、社交网络、投票、拍卖、地图和 GPS 应用。
- 仪表板和监视应用。 示例包括公司仪表板、即时销售更新或旅行警报。
- 协作应用。 协作应用的示例包括白板应用和团队会议软件。
- 需要通知的应用。 社交网络、电子邮件、聊天、游戏、旅行警报和很多其他应用都需使用通知。
以下是 ASP.NET Core SignalR 的一些功能:
- 自动处理连接管理。
- 同时向所有连接的客户端发送消息。 例如聊天室。
- 向特定客户端或客户端组发送消息。
- 对其进行缩放,以处理不断增加的流量。
环境:
.net core3.1
一.服务端配置(Startup) ConfigureServices
文章图片
Configure
文章图片
二、自定义类继承Hub
public class SignalRHub: Hub{private readonly IHubContext _hubContext = null; public SignalRHub(IHubContext context){_hubContext = context; }public override Task OnConnectedAsync()Console.WriteLine($"{Context.ConnectionId}已连接"); return base.OnConnectedAsync(); public void ReadClientMsgMethod(string msg)Console.WriteLine($"{ Context.ConnectionId}客户端发来信息:" + msg); /// /// 全员发送/// /// ///public string CallAllClients(string msg)Console.WriteLine("============全员发送=========="); Clients.All.SendAsync("CallByHub", "全员发送>>>>>>>>>>" + msg); return MethodInfo.GetCurrentMethod()?.Name + ""; //发送消息--发送给所有连接的客户端public Task SendMessage(string msg)return _hubContext.Clients.All.SendAsync("CallByHub", msg); }
到此这篇关于Asp.net core 使用SignalR推送消息的文章就介绍到这了,更多相关Asp.net core推送消息内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 算法|746. 使用最小花费爬楼梯
- 使用纯 python 实现 Instruments 协议,跨平台 (win,mac,linux) 获取 iOS 性能数据
- intellij-idea|IDEA的初级使用优化
- pytorch|PyTorch框架中使用早停止Early Stopping(含详细代码)
- 物联网|分类问题的几个评价指标(Precision、Recall、F1-Score、Micro-F1、Macro-F1)
- java|JAVA使用EasyExcel数据库动态导出Excel,超简单!
- 使用格拉姆角场(GAF)以将时间序列数据转换为图像
- Redis|Redis 中的 set 和 sorted set 如何使用,源码实现分析
- 互联网后端技术栈一览,写得太好了!
- Ubuntu系统中防火墙的使用和开放端口