温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Asp.net core怎么使用SignalR推送消息过程

发布时间:2022-03-22 13:36:14 来源:亿速云 阅读:243 作者:小新 栏目:开发技术

小编给大家分享一下Asp.net core怎么使用SignalR推送消息过程,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

1)、SignalR简介

ASP.NET Core SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。

实时 Web 功能是指这样一种功能:当所连接的客户端变得可用时服务器代码可以立即向其推送内容,而不是让服务器等待客户端请求新的数据。

2)、SignalR主要用途:

它出现的主要用途:可以用在聊天室、Web实时推送消息 (Real-Push-Message)、单点和多点通讯、扫码登陆、甚至可以结合其他技术用来做视频聊天等等。

适合 SignalR 的候选项:

  • 需要从服务器进行高频率更新的应用。 示例包括游戏、社交网络、投票、拍卖、地图和 GPS 应用。

  • 仪表板和监视应用。 示例包括公司仪表板、即时销售更新或旅行警报。

  • 协作应用。 协作应用的示例包括白板应用和团队会议软件。

  • 需要通知的应用。 社交网络、电子邮件、聊天、游戏、旅行警报和很多其他应用都需使用通知。

SignalR 提供用于创建服务器到客户端SignalR 的 API。 RPC 从服务器端 .NET Core 代码调用客户端上的函数。 提供多个受支持的平台,其中每个平台都有各自的客户端 SDK。 因此,RPC 调用所调用的编程语言有所不同。

以下是 ASP.NET Core SignalR 的一些功能:

  • 自动处理连接管理。

  • 同时向所有连接的客户端发送消息。 例如聊天室。

  • 向特定客户端或客户端组发送消息。

  • 对其进行缩放,以处理不断增加的流量。

下面重点给大家介绍下Asp.net core 使用SignalR推送消息。

环境:

.net core3.1

一.服务端配置(Startup)

ConfigureServices

Asp.net core怎么使用SignalR推送消息过程

Configure

Asp.net core怎么使用SignalR推送消息过程

二、自定义类继承Hub 

public class SignalRHub: Hub
    {
        private readonly IHubContext<SignalRHub> _hubContext = null;
 
        public SignalRHub(IHubContext<SignalRHub> context)
        {
            _hubContext = context;
        }
        public override Task OnConnectedAsync()
            Console.WriteLine($"{Context.ConnectionId}已连接");
            return base.OnConnectedAsync();
        public void ReadClientMsgMethod(string msg)
            Console.WriteLine($"{ Context.ConnectionId}客户端发来信息:" + msg);
        /// <summary>
        /// 全员发送
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        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推送消息过程”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI